Maven引入第三方JAR包實戰指南

要將第三方提供的 JAR 包引入本地 Maven 倉庫,可通過以下步驟實現(以 Oracle JDBC 驅動為例):


🔧 方法 1:使用 install:install-file 命令(推薦)

  1. 定位 JAR 文件
    將第三方 JAR 包(如 ojdbc11.jar)放置到本地目錄(例如 D:\libs)。

  2. 執行 Maven 安裝命令
    在命令行中進入 JAR 所在目錄,執行以下命令(參數需根據實際修改):

    mvn install:install-file -Dfile=ojdbc11.jar                      # JAR 文件路徑-DgroupId=com.oracle.database            # 自定義 groupId-DartifactId=ojdbc11                     # 自定義 artifactId-Dversion=21.13.0.0                      # 自定義版本號-Dpackaging=jar                          # 打包類型
    

    執行后效果
    JAR 會自動安裝到本地倉庫路徑(如 ~/.m2/repository/com/oracle/database/ojdbc11/21.13.0.0/ojdbc11-21.13.0.0.jar)。

  3. 在項目中引用
    pom.xml 中添加依賴:

    <dependency><groupId>com.oracle.database</groupId><artifactId>ojdbc11</artifactId><version>21.13.0.0</version>
    </dependency>
    

? 注意事項

  1. 參數命名規范

    • groupIdartifactId 需符合反向域名規則(如 com.xxx)。
    • 版本號應與實際一致,避免沖突。
  2. 路徑問題

    • -Dfile 需使用絕對路徑相對路徑正確指向 JAR 文件。
    • Windows 路徑分隔符用 \/ 均可(如 D:/libs/ojdbc11.jar)。
  3. 環境驗證
    執行前用 mvn -v 檢查 Maven 環境是否配置正確。


🔄 替代方案對比

方法適用場景缺點
install-file 命令通用場景,需長期使用需手動執行命令
<systemPath> 引用臨時測試,不放入倉庫依賴需隨項目分發,移植性差
IDE 直接添加庫快速調試僅限當前項目,團隊協作失效

💡 最佳實踐:正式項目首選命令安裝至本地倉庫,確保構建一致性。


🌐 擴展:部署到私服(團隊共享)

若需團隊共享,可上傳至 Nexus 私服

  1. 配置 settings.xml 添加私服認證:
    <server><id>nexus-releases</id><username>admin</username><password>admin123</password>
    </server>
    
  2. 執行部署命令:
    mvn deploy:deploy-file -Dfile=ojdbc11.jar -DgroupId=com.oracle.database -DartifactId=ojdbc11 -Dversion=21.13.0.0 -Dpackaging=jar -Durl=http://私服地址/repository/maven-releases/ -DrepositoryId=nexus-releases  # 與 settings.xml 的 <server> id 一致
    

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

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

相關文章

JavaSE -- 泛型詳細介紹

泛型 簡介 集合存儲數據底層是利用 Object 來接收的&#xff0c;意思是說如果不對類型加以限制&#xff0c;所有數據類型柔和在一起&#xff0c;這時如何保證數據的安全性呢&#xff08;如果不限制存入的數據類型&#xff0c;任何數據都能存入&#xff0c;當我們取出數據進行強…

使用 Python 實現 ETL 流程:從文本文件提取到數據處理的全面指南

文章大綱&#xff1a; 引言&#xff1a;什么是 ETL 以及其重要性 ETL&#xff08;提取-轉換-加載&#xff09;是數據處理領域中的核心概念&#xff0c;代表了從源數據到目標系統的三個關鍵步驟&#xff1a;**提取&#xff08;Extract&#xff09;**數據、**轉換&#xff08;Tra…

selenium基礎知識 和 模擬登錄selenium版本

前言 selenium框架是Python用于控制瀏覽器的技術,在Python爬蟲獲取頁面源代碼的時候,是最重要的技術之一,通過控制瀏覽器,更加靈活便捷的獲取瀏覽器中網頁的源代碼。 還沒有安裝啟動selenium的同志請先看我的上一篇文章進行配置啟動 和 XPath基礎 對selenium進行瀏覽器和驅動…

JS 網頁全自動翻譯v3.17發布,全面接入 GiteeAI 大模型翻譯及自動部署

兩行 js 實現 html 全自動翻譯。 無需改動頁面、無語言配置文件、無 API Key、對 SEO 友好&#xff01; 升級說明 translate.service 深度綁定 GiteeAI 作為公有云翻譯大模型算力支持translate.service 增加shell一鍵部署后通過訪問自助完成GiteeAI的開通及整個接入流程。增加…

數據結構:數組:插入操作(Insert)與刪除操作(Delete)

目錄 插入操作&#xff08;Inserting in an Array&#xff09; 在紙上模擬你會怎么做&#xff1f; 代碼實現 復雜度分析 刪除操作&#xff08;Deleting from an Array&#xff09; 在紙上模擬一下怎么做&#xff1f; 代碼實現 復雜度分析 插入操作&#xff08;Inserti…

Qt之修改純色圖片的顏色

這里以修改QMenu圖標顏色為例,效果如下: MyMenu.h #ifndef MYMENU_H #define MYMENU_H#include <QMenu>class MyMenu : public QMenu { public:explicit MyMenu(QWidget *parent = nullptr);protected:void mouseMoveEvent(QMouseEvent *event) override; };#endif /…

uni-app實現單選,多選也能搜索,勾選,選擇,回顯

前往插件市場安裝插件下拉搜索選擇框 - DCloud 插件市場&#xff0c;該插件示例代碼有vue2和vue3代碼 是支持微信小程序和app的 示例代碼&#xff1a; <template><view><!-- 基礎用法 --><cuihai-select-search:options"options"v-model&quo…

【機器學習深度學習】 微調的十種形式全解析

目錄 一、為什么要微調&#xff1f; 二、微調的 10 種主流方式 ? 1. 全參數微調&#xff08;Full Fine-tuning&#xff09; ? 2. 凍結部分層微調&#xff08;Partial Fine-tuning&#xff09; ? 3. 參數高效微調&#xff08;PEFT&#xff09; &#x1f538; 3.1 LoRA&…

信刻光盤安全隔離與文件單向導入/導出系統

北京英特信網絡科技有限公司成立于2005年&#xff0c;是專業的數據光盤擺渡、刻錄分發及光盤存儲備份領域的科技企業&#xff0c;專注為軍隊、軍工、司法、保密等行業提供數據光盤安全擺渡、跨網交換、檔案歸檔檢測等專業解決方案。 公司立足信創產業&#xff0c;產品國產安全可…

Python-標準庫-os

1 需求 2 接口 3 示例 4 參考資料 在 Python 中&#xff0c;os&#xff08;Operating System&#xff09;模塊是一個非常重要的內置標準庫&#xff0c;提供了許多與操作系統進行交互的函數和方法&#xff0c;允許開發者在 Python 程序中執行常見的操作系統任務&#xff0c;像文…

OpenCV CUDA模塊設備層-----在 GPU 上執行類似于 std::copy 的操作函數warpCopy()

操作系統&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 編程語言&#xff1a;C11 算法描述 OpenCV 的 CUDA 模塊&#xff08;cudev&#xff09; 中的一個設備端內聯模板函數&#xff0c;用于在 GPU 上執行類似于 std::copy 的操作&#xff…

Vue Router 中$route.path與 params 的關系

1. params 參數的本質&#xff1a;路徑的動態片段在 Vue Router 中&#xff0c;params 參數是通過路由配置的動態路徑片段定義的&#xff0c;例如&#xff1a;// 路由配置{ path: /user/:id, component: User }當訪問/user/123時&#xff0c;/user/123是完整的路徑&#xff0c;…

React 極簡響應式滑塊驗證組件實現,隨機滑塊位置

&#x1f3af; 滑塊驗證組件 (Slider Captcha) 一個現代化、響應式的滑塊驗證組件&#xff0c;專為 React 應用設計&#xff0c;提供流暢的用戶體驗和強大的安全驗證功能。 ? 功能特性 &#x1f3ae; 核心功能 智能滑塊拖拽 – 支持鼠標和觸摸屏操作&#xff0c;響應靈敏隨…

STM32第十六天藍牙模塊

一&#xff1a;藍牙模塊HC-05 1&#xff1a;硬件引腳配置&#xff1a; | 標號 | PIN | 說明 | |------|-------|---------------------------------------| | 1 | START | 狀態引出引腳&#xff08;未連接/連接輸出信號時&#xff09; |…

時序數據庫IoTDB用戶自定義函數(UDF)使用指南

1. 編寫UDF時序數據庫IoTDB為用戶提供了編寫UDF的JAVA API&#xff0c;用戶可以自主實現UDTF&#xff08;用戶自定義轉換函數&#xff09;類&#xff0c;IoTDB將通過類加載機制裝載用戶編寫的類。Maven依賴如果使用Maven&#xff0c;可以從Maven庫中搜索以下依賴&#xff0c;并…

Linux國產與國外進度對壘

Linux國產與國外進度對壘 引言國產Linux的發展現狀國外Linux的發展現狀技術對比國產Linux的挑戰與機遇國外Linux的優勢與局限結論 引言 簡述Linux在全球操作系統市場中的地位國產Linux的發展背景與意義國外主流Linux發行版的現狀 國產Linux的發展現狀 主要國產Linux發行版介…

Jenkins-Email Extension 插件插件

Editable Email Notification Editable Email Notification 是 Jenkins 的 Email Extension 插件的核心功能&#xff0c;用于自定義郵件通知&#xff0c;包括郵件主題、內容、收件人、發件人等 屬性 1.Project From 項目發件人&#xff0c;設置郵件的發件人地址 **注意&…

windows系統下將Docker Desktop安裝到除了C盤的其它盤中

windows系統下安裝docker會自動安裝到C盤&#xff0c;可以采用下面的方法將其安裝到其它盤中1、先下載Docker Desktop安裝程序Docker Desktop Installer.exe&#xff0c;比如你下載到了C:\Users\YourUsername\Downloads 文件夾中。 2、打開 PowerShell 進入C:\Users\YourUser…

視頻工具箱 1.1.1 |小而美的視頻處理工具,支持多種常用功能

VideoTools是一款基于FFmpeg的小而美的視頻處理工具&#xff0c;專為需要快速高效地進行視頻編輯的用戶設計。這款工具無需安裝&#xff0c;體積僅約200KB&#xff0c;提供了視頻壓縮、格式轉換、轉GIF、修改分辨率、加速播放以及音頻提取等多種常用功能。其用戶界面簡潔直觀&a…

無人機集群搜索技術全面解析

無人機集群搜索是指通過多架無人機協同工作&#xff0c;實現對目標區域的高效覆蓋與快速探測。這項技術通過模擬自然界生物群體的集體行為&#xff0c;利用分布式控制和自主決策算法&#xff0c;使無人機集群能夠自組織地完成復雜搜索任務。下面從核心技術、應用場景、算法實現…