我已经在Stack Overflow上找到了一个答案,该答案是如何在项目中包含第3方JAR而不将其安装到“本地存储库”中:
是否可以在不安装jar的情况下将jar添加到maven 2 build classpath?
但是,当我使用Maven Shade插件创建还包含项目所有依赖项的JAR时,不会自动包含第三方JAR。
如何使Maven Shade插件在阴影JAR中添加这样的第三方JAR?
按照得到的答案,我成功了。我所做的是,将此片段添加到pom.xml的开头:
<repositories>
<repository>
<id>repo</id>
<url>file://${basedir}/repo</url>
</repository>
</repositories>
然后为我的项目添加一个依赖项,也添加到pom.xml中:
<dependencies>
<dependency>
<groupId>dummy</groupId>
<artifactId>dummy</artifactId>
<version>0.0.0</version>
<scope>compile</scope>
</dependency>
</dependencies>
然后运行命令行以将软件包添加到“ repo”中:
mvn org.apache.maven.plugins:maven-install-plugin:2.3.1:install-file
-Dfile=<my-jar>.jar -DgroupId=dummy -DartifactId=dummy
-Dversion=0.0.0 -Dpackaging=jar -DlocalRepositoryPath=`pwd`/repo/
(不确定回购路径是否需要为完整路径,但不想冒险。)
现在,repo子目录的内容为:
repo/dummy/dummy/0.0.0/dummy-0.0.0.jar
repo/dummy/dummy/0.0.0/dummy-0.0.0.pom
repo/dummy/dummy/maven-metadata-local.xml
现在,我可以将其签入版本控制,并且没有本地或远程依赖项。
芜湖不芜
慕婉清6462132
相关分类