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
繁體地址,請注明出處:http://hk.pswp.cn/news/908621.shtml
英文地址,請注明出處:http://en.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;香港中文大學 動機 目前大模型…