提要:通常maven项目依赖本地其他编译出的jar包时,需要先导入本地仓库测试(而不是导入中央仓库)。本文简要记录方法。
情境:本地项目A依赖本地项目B、C编译出的jar包。
解决思路:
1.先编译出B、C对应的jar包
2.将B、C编译出的jar包导入本地仓库
3.编译项目A 通过并生成需要的jar包
命令格式
maven工程编译
mvn clean package
安装jar包到本地仓库
mvn install:install-file
-Dfile=jar文件所在路径
-DgroupId=包名
-DartifactId=项目名
-Dversion=版本号
-Dpackaging=jar
-DgeneratePom=true
-DcreateChecksum=true
写好之后替换换行为空格
导入示例
mvn install:install-file -Dfile=C:\Users\Administrator\Desktop\StringHelpers-master\target\StringHelpers-0.0.1.jar -DgroupId=com.sree.textbytes -DartifactId=StringHelpers -Dversion=0.0.1 -Dpackaging=jar -DgeneratePom=true -DcreateChecksum=true
mvn install:install-file -Dfile=C:\Users\Administrator\Desktop\Network-master\target\Network-0.0.1.jar -DgroupId=com.sree.textbytes -DartifactId=Network -Dversion=0.0.1 -Dpackaging=jar -DgeneratePom=true -DcreateChecksum=true
备注:以上两个jar包StringHelpers(GitHub), Network(GitHub),实际对应项目readabilityBUNDLE 依赖的两个maven工程。
该项目用于提取网页内容。
提供对应的pom.xml内容方便比较:
<dependency>
<groupId>com.sree.textbytes</groupId>
<artifactId>StringHelpers</artifactId>
<version>0.0.1</version>
</dependency>
<dependency>
<groupId>com.sree.textbytes</groupId>
<artifactId>Network</artifactId>
<version>0.0.1</version>
</dependency>
最后结果
在项目A(readabilityBUNDLE)目录下执行mvn clean package即可生成可用jar包。