Maven相关问题:jna版本与ES冲突 + aop失效

文章目录

  • 1、背景
  • 2、解决
  • 3、一点思考
  • 4、环境升级导致AOP失效
  • 5、okhttp Bean找不到
  • 6、总结

记录一些Maven依赖相关的思考

1、背景

做一个监控指标收集,用一下jna依赖:

<dependency><groupId>net.java.dev.jna</groupId><artifactId>jna</artifactId><version>${dev.jna.version}</version><!-- <dev.jna.version>5.12.1</dev.jna.version> -->
</dependency>

发现采集失败,根据错误信息,怀疑是依赖问题:

mvn dependency:tree | grep jna

根据返回结果,发现elastic search的依赖种也有用到jna,依赖冲突了

2、解决

首先想到直接排除依赖

<dependency><groupId>org.elasticsearch</groupId><artifactId>elasticsearch</artifactId><exclusions><!-- 排除 Elasticsearch 自带的旧版 JNA --><exclusion><groupId>org.elasticsearch</groupId><artifactId>jna</artifactId></exclusion></exclusions>
</dependency>

写完发现,这个jna坐标还是es自己的,应该是es自己做了一些二次开发和补丁,这样直接排除,大概率ES自身的功能要受影响,于是,考虑:

  • 升级整个 Elasticsearch 依赖版本,使其自带的jna和我需要的版本不再冲突
  • 选择一个jna的版本,兼容ES

在这里插入图片描述

最后,打开官方仓库:https://mvnrepository.com/artifact/org.elasticsearch/elasticsearch/7.17.28,升级ES到7.17.28版本,并且父pom里管理下版本

<dependencyManagement><dependency><groupId>net.java.dev.jna</groupId><artifactId>jna</artifactId><version>${dev.jna.version}</version><!-- <dev.jna.version>5.12.1</dev.jna.version> --></dependency>
</dependencyManagement>

3、一点思考

排除依赖前,考虑下影响,比如:

  • 版本不兼容问题:要是引入的其他 JNA 版本和 Elasticsearch 不兼容,可能会出现NoClassDefFoundError、LinkageError等错误

  • 功能缺失情况:对于这种二开依赖的,更要注意换依赖后原来的一些二开的补丁功能丢失的问题

4、环境升级导致AOP失效

系统近来在做升级,JDK从8升级到了JDK 17,相应的SpringBoot和SpringCloud版本也在更新迭代,升级后,新开发了一个AOP,结果发现一直不生效,首先排除常见的原因,比如:

  • 方法是private,代理失败
  • 内部调用
  • 没有enable AOP功能

等等,因为之前的AOP功能都是正常的,因此考虑是否是版本升级导致:搜索相关依赖,发现有aspectjweaver依赖,但没有spring-boot-starter-aop依赖,回到升级前,发现aop的依赖在open-feign里:

在这里插入图片描述
在这里插入图片描述

openfeign-core,在3.1.0是有aop依赖的,但升级到4.2.1版本后,aop不再包含了

在这里插入图片描述
因此,需要额外手动引入下spring-boot-starter-aop依赖

5、okhttp Bean找不到

同样的,升级后,服务启动报错okhttp Bean找不到了

<dependency><groupId>com.squareup.okhttp3</groupId><artifactId>okhttp</artifactId><version>${okhttp3.version}</version></dependency>

升级前,版本是3.14.9,搭配下面这配置

spring:cloud:openfeign:okhttp:enabled: true

升级后,启动发现okhttp Bean找不到,升级了下依赖版本解决

<okhttp3.version>4.12.0</okhttp3.version>

6、总结

依赖大升级,比如从2.x到3.x,一些API和核心类难免会被重构优化,此时,就会导致一些类找不到、原本包含的依赖升级后需要你自己引入一下、版本冲突导致一些自动装配失效等等一系列的问题,注意兼容和影响范围

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.pswp.cn/news/908621.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

gitlab CI/CD本地部署配置

背景: 代码管理平台切换为公司本地服务器的gitlab server。为了保证commit的代码至少编译ok&#xff0c;也为了以后能拓展test cases&#xff0c;现在先搭建本地gitlab server的CI/CD基本的编译job pipeline。 配置步骤&#xff1a; 先安装gitlab-runner: curl -L "ht…

移除元素-JavaScript【算法学习day.04】

题目链接&#xff1a;27. 移除元素 - 力扣&#xff08;LeetCode&#xff09; 第一种思路 标签&#xff1a;拷贝覆盖 主要思路是遍历数组 nums&#xff0c;每次取出的数字变量为 num&#xff0c;同时设置一个下标 ans 在遍历过程中如果出现数字与需要移除的值不相同时&#xff…

leetcode sql50题

在中文站没找到对应的集合&#xff0c;想来自己动手拷贝过来&#xff0c;方便大家面试复习用&#xff0c;对应英文站点&#xff1a; https://leetcode.com/studyplan/top-sql-50/ Select #1757. 可回收且低脂的产品 链接: https://leetcode.cn/problems/recyclable-and-low-fa…

Dynadot专业版邮箱工具指南(五):将域名邮箱添加至Outlook客户端

关于Dynadot Dynadot是通过ICANN认证的域名注册商&#xff0c;自2002年成立以来&#xff0c;服务于全球108个国家和地区的客户&#xff0c;为数以万计的客户提供简洁&#xff0c;优惠&#xff0c;安全的域名注册以及管理服务。 Dynadot平台操作教程索引&#xff08;包括域名邮…

【RTSP从零实践】1、根据RTSP协议实现一个RTSP服务

&#x1f601;博客主页&#x1f601;&#xff1a;&#x1f680;https://blog.csdn.net/wkd_007&#x1f680; &#x1f911;博客内容&#x1f911;&#xff1a;&#x1f36d;嵌入式开发、Linux、C语言、C、数据结构、音视频&#x1f36d; &#x1f923;本文内容&#x1f923;&a…

Python网页数据抓取常用的库及方法介绍

Python网页数据抓取常用的库及方法介绍 摘要:以下是Python网络数据抓取常用的6个库的详细介绍,包括它们的概述以及每个库中最常用的10个函数(如果某些库常用函数不足10个,则列出所有常用函数)。每个函数都附带功能描述、用法说明和使用示例。这些库在网络爬虫、数据…

6.5 note

一个很有意思的dfs模拟题_前序遍历 这个问题的话前置内容显然是字典序&#xff0c;什么是字典序呢&#xff1f; 顾名思义&#xff0c;就是词语在字典中的顺序&#xff0c;也就是我们最常说的a,abandon,ability&#xff08;我记得前三个是这个&#xff09; 这是一种字符串之间比…

day027-Shell自动化编程-基础

文章目录 1. 修改vim配置文件自动添加注释2. 故障案例&#xff1a;Windows上写的Shell脚本上传到Linux系统上运行报错3. 脚本运行方法4. 变量4.1 普通变量4.2 环境变量4.3 特殊变量4.4 案例&#xff1a;书写ping检查脚本&#xff0c;检查脚本传入的第一个参数4.5 面试题&#x…

2025年渗透测试面试题总结-腾讯[实习]科恩实验室-安全工程师(题目+回答)

安全领域各种资源&#xff0c;学习文档&#xff0c;以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具&#xff0c;欢迎关注。 目录 腾讯[实习]科恩实验室-安全工程师 一、网络与协议 1. TCP三次握手 2. SYN扫描原理 3. HTTPS证书机制 二…

人工智能赋能高中学科教学的应用与前景研究

一、引言 1.1 研究背景 在科技飞速发展的当下&#xff0c;人工智能&#xff08;Artificial Intelligence&#xff0c;简称 AI&#xff09;已成为全球瞩目的关键技术领域&#xff0c;深刻地改变着人们的生活、工作和学习方式。从智能家居设备到智能交通系统&#xff0c;从医疗…

八、【ESP32开发全栈指南:UDP客户端】

1. 环境准备 安装ESP-IDF v4.4 (官方指南)确保Python 3.7 和Git已安装 2. 创建项目 idf.py create-project udp_client cd udp_client3. 完整优化代码 (main/main.c) #include <string.h> #include "freertos/FreeRTOS.h" #include "freertos/task.h&…

Android Studio 解决首次安装时下载 Gradle 慢问题

1、问题描述 第一次安装 Android Studio 时&#xff0c; 新建工程后&#xff0c;在编译时会自动去下载 Gradle&#xff0c;但是一般都会下载失败&#xff0c;提示链接超时&#xff1a; Could not install Gradle distribution from https://services.gradle.org/distributions…

hive聚合函数多行合并

在数据仓库和大数据处理的场景中&#xff0c;Hive提供了强大的SQL查询能力&#xff0c;其中包括聚合函数用于处理和合并多行数据。本文将深入探讨Hive中的几种常见聚合函数及其在多行合并中的应用。 一、Hive中的常见聚合函数 Hive提供了多种聚合函数&#xff0c;这些函数可以…

关于物联网的基础知识(一)

成长路上不孤单&#x1f60a;&#x1f60a;&#x1f60a;&#x1f60a;&#x1f60a;&#x1f60a; 【14后&#x1f60a;///计算机爱好者&#x1f60a;///持续分享所学&#x1f60a;///如有需要欢迎收藏转发///&#x1f60a;】 今日分享关于物联网的基础知识&#xff08;一&a…

迁移科技3D视觉系统:重塑纸箱拆垛场景的智能革命

一、传统拆垛场景的困局与破局之道 在汽车零部件仓库中&#xff0c;每天有超过2万只异形纸箱需要拆垛分拣。传统人工拆垛面临三大挑战&#xff1a; 效率瓶颈&#xff1a;工人每小时仅能处理200-300件&#xff0c;且存在间歇性疲劳安全隐患&#xff1a;20kg以上重箱搬运导致年…

微软重磅发布Magentic UI,交互式AI Agent助手实测!

微软重磅发布Magentic UI,交互式AI Agent助手实测! 何为Magentic UI? Magentic UI 是微软于5.19重磅发布的开源Agent助手,并于24日刚更新了第二个版本0.04版 从官方的介绍来看,目标是打造一款 以人为中心 的智能助手,其底层由多个不同的智能体系统驱动,能够实现网页浏览…

Python实现快速排序的三种经典写法及算法解析

今天想熟悉一下python的基础写法&#xff0c;那就从最经典的快速排序来开始吧&#xff1a; 1、经典分治写法&#xff08;原地排序&#xff09; 时间复杂度&#xff1a;平均O(nlogn)&#xff0c;最坏O(n) 空间复杂度&#xff1a;O(logn)递归栈空间 特点&#xff1a;通过左右指针…

海康网络摄像头实时取帧转Opencv数组格式(h,w,3),已实现python、C#

海康摄像头取帧都是有官方demo的&#xff0c;但是将海康格式的数据转为Opencv格式的没有相关demo&#xff0c;而大部分深度学习图像检测算法(如YOLO)&#xff0c;都是用opencv格式的图像作为输入&#xff0c;因此将海康格式数据转为opencv格式兼容性更强 需要代码请私信联系&a…

职坐标IT教育物联网全栈开发实战:传感器到云平台全链路

物联网全栈开发涉及从终端感知到云端服务的全流程技术整合&#xff0c;其核心在于构建完整的“端-管-云-用”技术链条。为帮助开发者系统掌握这一能力&#xff0c;课程围绕四大模块展开&#xff1a;传感器数据采集与处理、通信协议适配与优化、云平台架构设计及跨平台应用开发。…

LUFFY(路飞): 使用DeepSeek指导Qwen强化学习

论文标题 Learning to Reason under Off-Policy Guidance 论文地址 https://arxiv.org/pdf/2504.14945 代码地址 https://github.com/ElliottYan/LUFFY 作者背景 上海人工智能实验室&#xff0c;西湖大学&#xff0c;南京大学&#xff0c;香港中文大学 动机 目前大模型…