如何將一個本地的jar包安裝到 Maven 倉庫中

我們需要執行以下步驟:

  1. 首先,打開命令提示符(CMD)或 PowerShell,執行以下命令:
mvn install:install-file ^
-Dfile="你的jar包路徑" ^
-DgroupId="組織ID" ^
-DartifactId="項目ID" ^
-Dversion="版本號" ^
-Dpackaging=jar

例如,如果你的 jar 包在 D:\mylib.jar,你可以這樣執行:

mvn install:install-file ^
-Dfile="D:\scylla.jar" ^
-DgroupId=com.iflytek ^
-DartifactId=scylla ^
-Dversion=1.0.0 ^
-Dpackaging=jar ^
-DgeneratePom=true ^
-DlocalRepositoryPath="D:\repository"
  1. 安裝成功后,在你的項目 pom.xml 中添加依賴:
<dependency><groupId>com.example</groupId><artifactId>mylib</artifactId><version>1.0.0</version>
</dependency>

具體步驟:

  1. 確保已安裝 Maven

    • 在命令行輸入 mvn -version 確認 Maven 已安裝
    • 如果沒有安裝,需要先下載安裝 Maven
  2. 準備參數信息

    • groupId: 通常是公司或組織的反向域名(如:com.example)
    • artifactId: jar 包的名稱(如:mylib)
    • version: 版本號(如:1.0.0)
    • file: jar 包的完整路徑
  3. 執行安裝命令

    mvn install:install-file ^
    -Dfile="jar包路徑" ^
    -DgroupId="組織ID" ^
    -DartifactId="項目ID" ^
    -Dversion="版本號" ^
    -Dpackaging=jar
    
  4. 驗證安裝

    • 安裝后,jar 包會被復制到 Maven 本地倉庫
    • 默認位置:C:\Users\你的用戶名\.m2\repository
    • 或者你指定的 Maven 倉庫位置
  5. 在項目中使用

    • 在項目的 pom.xml 中添加依賴配置
    • 刷新 Maven 項目(在 IDE 中右鍵項目 -> Maven -> Reload Project)

如果你需要指定自定義的 Maven 倉庫位置,可以添加 -DlocalRepositoryPath 參數:

mvn install:install-file ^
-Dfile="D:\scylla.jar" ^
-DgroupId=com.iflytek ^
-DartifactId=scylla ^
-Dversion=1.0.0 ^
-Dpackaging=jar ^
-DgeneratePom=true ^
-DlocalRepositoryPath="D:\repository"
  1. 修改 systemPath 的寫法
<dependency><groupId>com.iflytek</groupId><artifactId>scylla</artifactId><version>1.0.0</version><scope>system</scope><!-- 使用更可靠的寫法 --><systemPath>${basedir}/src/main/resources/jar/scylla.jar</systemPath>
</dependency>
  1. 或者使用絕對路徑測試
<dependency><groupId>com.iflytek</groupId><artifactId>scylla</artifactId><version>1.0.0</version><scope>system</scope><systemPath>D:\code3\CorpKnowledgeBase\spark-knowledge\knowledge-web\src\main\resources\jar\scylla.jar</systemPath>
</dependency>
  1. 檢查文件位置
# 創建目錄(如果不存在)
mkdir -p src/main/resources/jar# 確保 jar 包在正確位置
copy scylla.jar src\main\resources\jar\
  1. 刷新 Maven
  • 右鍵點擊項目
  • 選擇 Maven -> Reload Project
  • 或者在命令行執行:
mvn clean install -U
  1. 驗證 Maven 屬性
    你可以添加一個插件來打印實際路徑:
<build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-antrun-plugin</artifactId><version>3.0.0</version><executions><execution><phase>validate</phase><goals><goal>run</goal></goals><configuration><tasks><echo>project.basedir: ${project.basedir}</echo><echo>System Path: ${project.basedir}/src/main/resources/jar/scylla.jar</echo></tasks></configuration></execution></executions></plugin></plugins>
</build>
  1. 完整的 pom.xml 示例
<project><!-- 其他配置 --><properties><lib.dir>${project.basedir}/src/main/resources/jar</lib.dir></properties><dependencies><dependency><groupId>com.iflytek</groupId><artifactId>scylla</artifactId><version>1.0.0</version><scope>system</scope><systemPath>${lib.dir}/scylla.jar</systemPath></dependency><!-- 其他依賴 --></dependencies>
</project>

maven內置屬性:

${project.basedir}        <!-- 項目根目錄,即包含pom.xml文件的目錄 -->
${project.build.directory} <!-- 構建目錄,默認為 target -->
${project.version}        <!-- 項目版本 -->
${project.groupId}        <!-- 項目的groupId -->
${project.artifactId}     <!-- 項目的artifactId -->

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

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

相關文章

AI賦能的企業音頻智能中樞:重構會議價值提升決策效率的數字化轉型實踐

在當今快節奏的商業環境中&#xff0c;企業管理者每天都要處理海量信息&#xff0c;其中音頻內容占據了重要位置。你是否經常遇到這樣的困擾&#xff1a;重要會議結束后&#xff0c;錄音文件靜靜躺在設備里&#xff0c;遲遲無法變成可用的會議紀要跨部門協作時&#xff0c;收到…

醫學+AI!湖北中醫藥大學信息工程學院與和鯨科技簽約101數智領航計劃

為積極推動人工智能與中醫藥信息化深度融合&#xff0c;著力培育既精通中醫藥理論又掌握人工智能技術的復合型人才&#xff0c;6 月 27 日&#xff0c;湖北中醫藥大學信息工程學院與上海和今信息科技有限公司&#xff08;以下簡稱 “和鯨科技”&#xff09;召開校企合作座談會&…

全面掌控 Claude Code:命令 + 參數 + 快捷鍵一文全整理(建議收藏)

近日&#xff0c;隨著Cursor套餐定價的風波&#xff0c;Claude Code 無疑成為了最近頗受歡迎的代碼助手&#xff0c;不僅支持多種編程語言&#xff0c;還比Cursor更能理解復雜的上下文邏輯&#xff0c;極受廣大開發者的青睞。 不過&#xff0c;與其他AI編程助手不同的是&#x…

深度學習-正則化

摘要 本文系統闡述了深度學習中的正則化技術體系&#xff0c;圍繞防止過擬合這一核心目標展開。首先通過偏差-方差框架解析過擬合/欠擬合本質&#xff0c;并使用對比表明確區分特征&#xff1b;其次深入分析了L1/L2正則化的數學原理&#xff08;2mλ?∥w∥2與mλ?∥w∥1?&a…

STM32之風扇模塊(開關控制+PWM調速)

目錄 一、系統概述 二、5V直流風扇模塊簡介 2.1 基本概述 2.2 關鍵特性 2.3 接口定義 2.4 典型驅動電路 2.4.1 繼電器驅動方案&#xff08;開關控制&#xff09; 2.4.2 三極管驅動方案&#xff08;調速控制&#xff09; 2.5 常見問題解決 三、繼電器模塊控制風…

AGX Xavier 搭建360環視教程【二、環境配置】

AGX Xavier 場景下的 【OpenCV FFmpeg CUDA GStreamer】 重裝 & 編譯的2025年穩定方案? 1?? 先卸載老版本AGX 自帶很多預裝包&#xff0c;原則&#xff1a;卸載干凈&#xff0c;避免舊庫和新編譯沖突。&#x1f539; 卸載 OpenCVdpkg -l | grep opencv sudo apt-get …

Cesium實戰:交互式多邊形繪制與編輯功能完全指南(最終修復版)

&#x1f4cb; 文章目錄 引言功能概述環境準備核心實現步驟 地圖初始化多邊形繪制頂點編輯功能顏色與透明度自定義面積計算與顯示 常見問題解決方案 多邊形顏色顯示異常面積標簽不可見控制臺alpha類型錯誤地圖交互無法恢復 完整代碼總結與擴展 引言 Cesium作為一款強大的3D地…

SQL判斷先判斷條件1是否符合,條件1不符合再判斷條件2

偽代碼假設存在條件1和條件2SELECT * FROM table1 WHERE 條件1 AND 條件2方法1&#xff1a;先判斷條件1是否符合,條件1不符合再判斷條件2是否滿足&#xff1a;SELECT * FROM table1 WHERE (條件1) OR (NOT 條件1 AND 條件2);方法 2: 使用 IF 或數據庫特有函數&#xff08;…

游戲的程序員會不會偷偷改自己賬號的數據?

看到這個問題&#xff0c;我忍不住笑了。 作為一個在程序員這條路上摸爬滾打了快10年的老司機&#xff0c;雖然我主要專精嵌入式開發&#xff0c;但我也接觸過不少游戲開發的朋友&#xff0c;對游戲行業的內部運作有一定了解。這個問題可以說是每個游戲玩家都曾經想過的&#x…

uniapp小程序tabbar跳轉攔截與彈窗控制

一、第一步1、App.vue中定義globalData用于全局存儲狀態globalData:{needShowReleaseConfirm: false, // 標記是否需要顯示發布頁面確認彈窗allowReleaseJump: false ,// 標記是否允許跳轉到發布頁面},2、在App.vue中的onLaunch寫入監聽事件onLaunch: function() {// 添加switc…

華為網路設備學習-26(BGP協議 一)

一、AS&#xff08;自治系統&#xff09;AS&#xff08;自治系統&#xff09;的大小通常指其分配的唯一編號&#xff0c;范圍分為兩種&#xff1a;?2字節AS號?&#xff1a;取值范圍1至65535&#xff08;其中64512-65535為私有AS號&#xff09; ??4字節AS號?&#xff1a;取…

大模型開發框架LangChain之函數調用

1.前言 之前一直使用 dify開發 agent&#xff0c;雖然功能很全面、效果也穩定&#xff0c;但是也存在流程固化、不靈活&#xff0c;以及 dify本身太重&#xff08;內部包含10個容器&#xff09;等問題。 故最近研究了大名頂頂的 langchain&#xff0c;先從函數調用開始&#xf…

pycharm中自動補全方法返回變量

使用IDEA開發java中&#xff0c;可以使用altenter 快捷鍵快速補全方法放回的變量使用pycharm也想實現此效果&#xff0c;如下圖操作方法&#xff1a;pycharm中默認的補全方法返回變量的快捷鍵是&#xff1a;CtrlAltv 可以直接使用默認快捷鍵&#xff0c;也可以在settings->k…

Set 二分 -> 劍指算法競賽

C【STL】集合set 標準庫提供 set 關聯容器分為&#xff1a; 按關鍵字有序保存元素&#xff1a;set&#xff08;關鍵字即值&#xff0c;即只保存關鍵字的容器&#xff09;、multiset&#xff08;關鍵字可重復出現的 set&#xff09;&#xff1b; 無序集合&#xff1a;unordered…

php的原生類

前言&#xff1a;累麻了&#xff01; 反射類 反射類 ReflectionClass&#xff1a;ReflectionClass 類報告了一個類的有關信息。正如其名用于映射反射一個類的類&#xff01; new ReflectionClass(MyClass) 會創建一個 ReflectionClass 實例&#xff0c;代表 MyClass 這個類。 …

PC網站和uniapp安卓APP、H5接入支付寶支付

首先我們需要完成支付寶賬號注冊&#xff0c;支持的賬號類型&#xff1a;支付寶企業賬號、支付寶個人賬號、個體工商戶。 到支付寶商家平臺 產品中心開通APP支付、手機網站支付、電腦網站支付的產品權限。 一、電腦PC網站接入 電腦PC網站支付是指商戶在電腦網頁展示商品或服務&…

MCU芯片內部的ECC安全機制

MCU&#xff08;微控制器單元&#xff09;芯片內部的 ECC&#xff08;錯誤檢測與糾正&#xff09;安全機制 是一種至關重要的硬件級可靠性技術&#xff0c;主要用于保護關鍵存儲單元&#xff08;如 SRAM、Flash、Cache&#xff09;中的數據完整性&#xff0c;防止因外部干擾或硬…

【自動駕駛】經典LSS算法解析——深度估計

LSS-Lift.Splat,Shoot 論文題目&#xff1a;Lift, Splat, Shoot: Encoding Images From Arbitrary Camera Rigs by Implicitly Unprojecting to 3D 代碼&#xff1a;https://github.com/nv-tlabs/lift-splat-shoot 概括&#xff1a;先做深度估計和特征融合&#xff0c;然后投…

《【第八篇-圖片總結篇】Python圖片處理自動化:終極工廠!從裁剪壓縮到智能加水印,打造你的視覺內容生產流水線!》

在數字時代&#xff0c;圖片無處不在。然而&#xff0c;高質量的圖片背后&#xff0c;往往隱藏著繁瑣的后期處理&#xff1a;圖片文件太大導致加載慢&#xff1b;尺寸不符需要裁剪&#xff1b;版權保護要加水印&#xff1b; 為了兼容性還得批量轉換格式……這些重復、機械的工…

frame 與新窗口切換操作【selenium 】

&#x1f9ed; 一、切換到 iframe 內部進行操作在瀏覽器自動化測試中&#xff0c;iframe 是一個特別的存在。它相當于在當前頁面中嵌入了另一個獨立的 HTML 頁面。當我們試圖直接訪問 iframe 中的元素時&#xff0c;往往會發現定位不到&#xff0c;比如&#xff1a;elements w…