IDEA在Maven項(xiàng)目中使用本地jar包的方法
我們?cè)谀玫脚f項(xiàng)目的時(shí)候,經(jīng)常會(huì)遇到一種情況,就是這個(gè)項(xiàng)目的maven中依賴(lài)了一個(gè)本地的jar包,這種情況就需要引入這個(gè)jar包。
如果引入不成功,程序在啟動(dòng)或者打包時(shí)就會(huì)報(bào)錯(cuò):
Error:(x, x) java: com.xxx.xxx不存在
為了解決這個(gè)問(wèn)題,就需要手動(dòng)引入jar包了。
嘗試過(guò)好幾種方式,最終是成功了,著急的讀者可以直接看方式三。
方式一
直接把jar包放到Maven本地倉(cāng)庫(kù)中,創(chuàng)建好對(duì)應(yīng)的目錄直接放進(jìn)去就好了。

這個(gè)方法對(duì)一部分項(xiàng)目有用。之前有一個(gè)項(xiàng)目按這種方式直接放進(jìn)去就可以正常啟動(dòng)了。
方式二
1、在IDEA中依次打開(kāi) File → Project Structure → Libraries;

2、然后找到對(duì)應(yīng)的jar包,點(diǎn)擊一下,右邊的Classes下面應(yīng)該是紅色的;
3、點(diǎn)擊一下Classes下面的路徑,點(diǎn)擊上面的減號(hào)刪除掉;
4、點(diǎn)擊上面的加號(hào),添加本地的jar包。
這樣jar包就引入進(jìn)來(lái)了。但是有些情況這樣引入依然不行,那就需要用最后一種方式了。
方式三
在jar包所在目錄中,使用Maven命令安裝本地jar包到本地倉(cāng)庫(kù):
mvn install:install-file -Dfile=`{artifactId}-`{version}`.jar -DgroupId=`{groupId}` -DartifactId=`{artifactId}` -Dversion=`{version}` -Dpackaging=jar
拓展:使用 IDEA 將本地jar上傳到本地maven倉(cāng)庫(kù)
創(chuàng)建一個(gè) Maven 運(yùn)行配置
在開(kāi)發(fā)工具的導(dǎo)航欄中,點(diǎn)擊選擇配置:

在配置界面點(diǎn)擊左上角的加號(hào),隨后選擇增加一個(gè)maven運(yùn)行配置:

編輯 Maven 配置

上圖中的含義:
Name 對(duì)應(yīng)的是本配置的名字、用處或功能。
Working directory 表示運(yùn)行命令的位置,一般選擇項(xiàng)目的根路徑(即pom.xml 文件所在的位置)。
Command line 表示命令行參數(shù)。
本次上傳 jar 到 maven 倉(cāng)庫(kù),用到的命令行參數(shù)如下(所有參數(shù)以空格隔開(kāi),這里為了方便講解,做了換行處理):
install:install-file -Dfile=D:/tpk/aliyun-java-vod-upload-1.1.1.jar -DgroupId=com.aliyun -DartifactId=aliyun-java-vod-upload -Dversion=1.1.1 -Dpackaging=jar
其中的含義是:
● -Dfile 表示當(dāng)前要上傳的jar包所在的位置
● -DgroupId 表示當(dāng)前 jar 對(duì)應(yīng)的 groupId
● -DartifactId 表示的是當(dāng)前 jar 對(duì)應(yīng)的 artifactId
● -Dversion 表示的是需要指定的版本,對(duì)應(yīng)的是 version
● -Dpackaging 表示的是打包方式,本次上傳的是 jar 包,因此指定為 jar
運(yùn)行
直接點(diǎn)擊運(yùn)行即可。如果看到了 success 的字樣,就表示可以了。

以上的數(shù)據(jù)上傳到本地maven庫(kù)之后,可以使用以下的依賴(lài)獲?。?/p>
<dependency> <groupId>com.aliyun</groupId> <artifactId>aliyun-java-vod-upload</artifactId> <version>1.1.1</version> </dependency>
到此這篇關(guān)于IDEA在Maven項(xiàng)目中使用本地jar包的方法的文章就介紹到這了,更多相關(guān)IDEA Maven使用本地jar包內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
詳解SpringBoot中的統(tǒng)一結(jié)果返回與統(tǒng)一異常處理
這篇文章主要將通過(guò)詳細(xì)的討論和實(shí)例演示來(lái)幫助你更好地理解和應(yīng)用Spring Boot中的統(tǒng)一結(jié)果返回和統(tǒng)一異常處理,感興趣的小伙伴可以了解下2024-03-03
springboot集成swagger3與knife4j的詳細(xì)代碼
這篇文章主要介紹了springboot集成swagger3與knife4j,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-08-08
Java線(xiàn)程中的線(xiàn)程本地變量ThreadLocal詳解
這篇文章主要介紹了Java線(xiàn)程中的線(xiàn)程本地變量ThreadLocal詳解,ThreadLocal存放的值是線(xiàn)程內(nèi)共享的,線(xiàn)程間互斥的,主要用于線(xiàn)程內(nèi)共享一些數(shù)據(jù),避免通過(guò)參數(shù)來(lái)傳遞,這樣處理后,能夠優(yōu)雅的解決一些實(shí)際問(wèn)題,需要的朋友可以參考下2023-11-11
SpringBoot3實(shí)戰(zhàn)教程之實(shí)現(xiàn)接口簽名驗(yàn)證功能
接口簽名是一種重要的安全機(jī)制,用于確保 API 請(qǐng)求的真實(shí)性、數(shù)據(jù)的完整性以及防止重放攻擊,這篇文章主要介紹了SpringBoot3實(shí)戰(zhàn)教程之實(shí)現(xiàn)接口簽名驗(yàn)證功能,需要的朋友可以參考下2025-04-04
Awaitility同步異步工具實(shí)戰(zhàn)示例詳解
這篇文章主要為大家介紹了Awaitility同步異步工具實(shí)戰(zhàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-08-08
springboot2.3 整合mybatis-plus 高級(jí)功能及用法詳解
這篇文章主要介紹了springboot2.3 整合mybatis-plus 高級(jí)功能,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-09-09
Java?Hutool工具包中HttpUtil的日志統(tǒng)一打印及統(tǒng)一超時(shí)時(shí)間配置
Hutool是一個(gè)Java基礎(chǔ)工具類(lèi),對(duì)文件、流、加密解密、轉(zhuǎn)碼、正則、線(xiàn)程、XML等JDK方法進(jìn)行封裝,組成各種Util工具類(lèi),這篇文章主要給大家介紹了關(guān)于Java?Hutool工具包中HttpUtil的日志統(tǒng)一打印及統(tǒng)一超時(shí)時(shí)間配置的相關(guān)資料,需要的朋友可以參考下2024-01-01
SpringBoot+Redis實(shí)現(xiàn)數(shù)據(jù)字典的方法
這篇文章主要介紹了SpringBoot+Redis實(shí)現(xiàn)數(shù)據(jù)字典的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-10-10

