背景:
公司因為權(quán)限問題,沒有所有的代碼,內(nèi)部maven還在搭建,所以需要拿到同事的jar包,本地install:
mvn install:install-file -DgroupId=com..framework -DartifactId=cloud-api -Dversion=1.0.0-SNAPSHOT -Dpackaging=jar -Dfile=C:\develop\workspace\20Src\common\lib\common\api-1.0.0-SNAPSHOT.jar
執(zhí)行后,工程中可以調(diào)用到這個jar包的class,但是這個jar包的傳遞依賴卻沒有,導(dǎo)致編譯的時候報錯。
預(yù)期的情況,jar包應(yīng)該包含依賴傳遞:
不正常情況:
查看了下C:\Users\用戶\.m2\repository下生成文件,發(fā)現(xiàn)生成的pom(cloud-api-1.0.0-SNAPSHOT.pom)長這樣:
<?xml version="1.0" encoding="UTF-8"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<groupId>com.framework</groupId>
<artifactId>cloud-api</artifactId>
<version>1.0.0-SNAPSHOT</version>
<description>POM was created from install:install-file</description>
</project>
說明沒有成功。
通過查找,找到這篇文章將 JAR 安裝到存儲庫時,Maven 不讀取 POM | 那些遇到過的問題
發(fā)現(xiàn)需要指定pom:
mvn org.apache.maven.plugins:maven-install-plugin:2.5.2:install-file -Dfile=C:\common\cloud-core-1.0.0-SNAPSHOT.jar
執(zhí)行后pom文件依然沒有變化,
根據(jù)文章內(nèi)容,說明2.5.2應(yīng)該是有bug。
最終找到這篇文章:https://maven.apache.org/plugins/maven-install-plugin/examples/custom-pom-installation.html
改成:
mvn org.apache.maven.plugins:maven-install-plugin:3.1.1:install-file -Dfile=C:\common\cloud-core-1.0.0-SNAPSHOT.jar
這里說明是如果有自定義的pom,可以通過-DpomFile=指定。文章來源:http://www.zghlxwxcb.cn/news/detail-684360.html
如果沒有,會自動使用jar包內(nèi)的pom文章來源地址http://www.zghlxwxcb.cn/news/detail-684360.html
到了這里,關(guān)于maven本地安裝jar包install-file,解決沒有pom的問題的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!