Maven 項目中引入本地 JAR 包

在日常開發過程中,我們有時會遇到一些未上傳到 Maven 中央倉庫或公司私有倉庫的 JAR 包,比如第三方提供的 SDK 或自己編譯的庫。這時候,我們就需要將這些 JAR 包手動引入到 Maven 項目中。本文將介紹兩種常見方式:將 JAR 安裝到本地倉庫(推薦)和使用 system 作用域直接引用。

方法一:使用 mvn install:install-file 安裝到本地倉庫(推薦)

這是最推薦的方式,它能夠最大程度保持 Maven 項目的整潔性與可維護性。

操作步驟:

  1. 打開命令行工具。

  2. 執行以下命令,將本地 JAR 包安裝到 Maven 的本地倉庫中:

mvn install:install-file \-Dfile=/path/to/your.jar \-DgroupId=com.example \-DartifactId=your-artifact \-Dversion=1.0.0 \-Dpackaging=jar

請將 /path/to/your.jar 替換為你的 JAR 包實際路徑。

  1. pom.xml 中添加依賴:

<dependency><groupId>com.example</groupId><artifactId>your-artifact</artifactId><version>1.0.0</version>
</dependency>

優點:

  • 與其他依賴使用方式一致;

  • 支持依賴傳遞;

  • 更適合多人協作和構建工具集成;

  • 可以結合私服進一步發布。

方法二:使用 system 作用域直接引用本地路徑(不推薦)

此方法不需要安裝到本地倉庫,直接在 pom.xml 中配置 JAR 包的路徑。

示例配置:

<dependency><groupId>com.example</groupId><artifactId>your-artifact</artifactId><version>1.0.0</version><scope>system</scope><systemPath>${project.basedir}/lib/your.jar</systemPath>
</dependency>

注意:${project.basedir} 表示項目根目錄,推薦將 JAR 包放在 lib 目錄中統一管理。

缺點:

  • 無法參與依賴傳遞;

  • 路徑硬編碼,不利于跨平臺、多人協作;

  • Maven 官方不推薦使用。

總結

方法推薦程度特點
install-file 安裝到本地倉庫?????規范、支持依賴傳遞、適合長期使用
system 作用域引用??簡單快捷,但不規范、不推薦

建議優先使用 install-file 的方式管理本地 JAR,既可以保持項目結構清晰,又方便團隊協作和持續集成。如需管理多個本地 JAR,也可以考慮搭建私有 Maven 倉庫進行集中管理。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/77924.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/77924.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/77924.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

解鎖webpack:對html、css、js及圖片資源的抽離打包處理

面試被問到webpack&#xff0c;可別只知道說 HtmlWebpackPlugin 了哇。 前期準備 安裝依賴 npm init -y npm install webpack webpack-cli --save-dev配置打包命令 // package.json {"scripts": {// ... 其他配置信息"build": "webpack --mode pr…

SpringBoot整合SSE,基于okhttp

一、引入依賴 <dependency><groupId>com.squareup.okhttp3</groupId><artifactId>okhttp</artifactId><version>4.10.0</version> </dependency> <dependency><groupId>com.squareup.okhttp3</groupId><…

【哈希表】1399. 統計最大組的數目

1399. 統計最大組的數目 - 力扣&#xff08;LeetCode&#xff09; 給你一個整數 n 。請你先求出從 1 到 n 的每個整數 10 進制表示下的數位和&#xff08;每一位上的數字相加&#xff09;&#xff0c;然后把數位和相等的數字放到同一個組中。 請你統計每個組中的數字數目&…

手動實現LinkedList

前言 大家好&#xff0c;我是Maybe。最近在學習數據結構中的鏈表&#xff0c;自己手動實現了一個LinkedList。我想與大家分享一下。 思維導圖 代碼部分 package Constant;public class constant {public static final String INDEX_IS_WRONG"輸入的下標不合法"; }p…

如何檢查瀏覽器是否啟用了WebGL2.0硬件加速

一:WebGL Inspector使用 打開 Chrome 或 Edge(推薦使用 Chromium 內核瀏覽器)。 安裝插件: ?? Spector.js on Chrome Web Store 安裝完成后,在瀏覽器工具欄看到綠色的 S 圖標 二:捕獲 WebGL 渲染幀 打開你要分析的 Web3D 網站(比如 https://3dviewer.net)。 點擊瀏…

“時間”,在數據處理中的真身——弼馬溫一般『無所不能』(DeepSeek)

電子表格時間處理真理&#xff1a;數值存儲最瘦身&#xff0c;真身闖關通四海。 筆記模板由python腳本于2025-04-23 22:25:59創建&#xff0c;本篇筆記適合喜歡在電子表格中探求時間格式的coder翻閱。 【學習的細節是歡悅的歷程】 博客的核心價值&#xff1a;在于輸出思考與經驗…

AXOP39062: 25MHz軌到軌輸入輸出雙通道運算放大器

AXOP39062是用于低壓應用(1.5V~5.5V)的雙通道運算放大器&#xff0c;具有軌到軌的輸入輸出工作范圍&#xff0c;非常適合需要小尺寸、大容性負載驅動能力的低壓應用。產品具有25MHz的增益帶寬&#xff0c;具有優異的噪聲性能和極低的失真度。 主要特性 軌到軌的輸入輸出范圍低…

基于大模型的胃食管反流病全周期預測與診療方案研究

目錄 一、引言 1.1 研究背景與意義 1.2 研究目的與創新點 二、胃食管反流病概述 2.1 疾病定義與分類 2.2 流行病學特征 2.3 發病機制 三、大模型技術原理與應用基礎 3.1 大模型簡介 3.2 適用于胃食管反流病預測的大模型類型 3.3 數據收集與預處理 四、大模型在胃食…

西門子S7-200SMART 控制Profinet閉環步進MD-4250-PN (1)電機及專欄介紹

一、前言 本系列是我繼 《西門子S7-1200PLC 控制步進電機 MD-4240-PN》系列專欄后&#xff0c;新開的一篇專欄。 系列的主題圍繞 S7-200SMART Profinet閉環步進(MD-4250-PN) 觸摸屏的硬件&#xff0c;預計作四篇文章&#xff0c;分別為&#xff1a;專欄介紹、硬件介紹、PLC…

bedtools coverage 獲取每個位置的測序深度

1.bedtools 文檔 $ bedtools --version bedtools v2.31.1coverage Compute the coverage over defined intervals. Usage:bedtools coverage [OPTIONS] -a <FILE> \-b <FILE1, FILE2, ..., FILEN>(or):coverageBed [OPTIONS] -a <FILE> \-b <FILE1,…

反向代理和DDNS的區別是什么?

反向代理&#xff08;Reverse Proxy&#xff09;和動態域名解析&#xff08;DDNS&#xff0c;Dynamic Domain Name System&#xff09;是兩種不同的網絡技術&#xff0c;雖然它們都與外部訪問內部服務相關&#xff0c;但解決的問題和應用場景完全不同。具體區別如下&#xff1a…

縮放點積注意力

Scaled Dot-Product Attention 論文地址 https://arxiv.org/pdf/1706.03762 注意力機制介紹 縮放點積注意力是Transformer模型的核心組件&#xff0c;用于計算序列中不同位置之間的關聯程度。其核心思想是通過查詢向量&#xff08;query&#xff09;和鍵向量&#xff08;key&am…

可吸收聚合物:醫療科技與綠色未來的交匯點

可吸收聚合物&#xff08;Biodegradable Polymers&#xff09;作為生物醫學工程的核心材料&#xff0c;正引領一場從“金屬/塑料植入物”到“智能降解材料”的范式轉移。根據QYResearch&#xff08;恒州博智&#xff09;預測&#xff0c;2031年全球可吸收聚合物市場銷售額將突破…

房地產項目績效考核管理制度與績效提升

房地產項目績效考核管理制度的核心目的是通過合理的績效考核機制&#xff0c;提升項目的整體運作效率&#xff0c;并鼓勵項目團隊成員的積極性。該制度適用于所有房地產項目部工作人員&#xff0c;涵蓋了項目經理和項目成員的考核。考核的主要內容包括項目經理和項目部成員的工…

【算法筆記】動態規劃基礎(一):dp思想、基礎線性dp

目錄 前言動態規劃的精髓什么叫“狀態”動態規劃的概念動態規劃的三要素動態規劃的框架無后效性dfs -> 記憶化搜索 -> dp暴力寫法記憶化搜索寫法記憶化搜索優化了什么&#xff1f;怎么轉化成dp&#xff1f;dp寫法 dp其實也是圖論首先先說結論&#xff1a;狀態DAG是怎樣的…

pytorch 51 GroundingDINO模型導出tensorrt并使用c++進行部署,53ms一張圖

本專欄博客第49篇文章分享了將 GroundingDINO模型導出onnx并使用c++進行部署,并嘗試將onnx模型轉換為trt模型,fp16進行推理,可以發現推理速度提升了一倍。為此對GroundingDINO的trt推理進行調研,發現 在GroundingDINO-TensorRT-and-ONNX-Inference項目中分享了模型導出onnx…

一個關于相對速度的假想的故事-6

既然已經知道了速度是不能疊加的&#xff0c;同時也知道這個疊加是怎么做到的&#xff0c;那么&#xff0c;我們實際上就知道了光速的來源&#xff0c;也就是這里的虛數單位的來源&#xff1a; 而它的來源則是&#xff0c; 但這是兩個速度的比率&#xff0c;而光速則是一個速度…

深度學習激活函數與損失函數全解析:從Sigmoid到交叉熵的數學原理與實踐應用

目錄 前言一、sigmoid 及導數求導二、tanh 三、ReLU 四、Leaky Relu五、 Prelu六、Softmax七、ELU八、極大似然估計與交叉熵損失函數8.1 極大似然估計與交叉熵損失函數算法理論8.1.1 伯努利分布8.1.2 二項分布8.1.3 極大似然估計總結 前言 書接上文 PaddlePaddle線性回歸詳解…

Python內置函數---breakpoint()

用于在代碼執行過程中動態設置斷點&#xff0c;暫停程序并進入調試模式。 1. 基本語法與功能 breakpoint(*args, kwargs) - 參數&#xff1a;接受任意數量的位置參數和關鍵字參數&#xff0c;但通常無需傳遞&#xff08;默認調用pdb.set_trace()&#xff09;。 - 功能&#x…

從零手寫 RPC-version1

一、 前置知識 1. 反射 獲取字節碼的三種方式 Class.forName("全類名") &#xff08;全類名&#xff0c;即包名類名&#xff09;類名.class對象.getClass() (任意對象都可調用&#xff0c;因為該方法來自Object類&#xff09; 獲取成員方法 Method getMethod(St…