我有一个带有一些第三方依赖项的maven项目,稍后会自动提供给我的应用程序,因此可能不会包含在我的JAR中。
此外,我还有一些其他依赖项,它们是我自己的库,只能在存储库之外的本地使用。所以我创建了一个本地回购:
<!-- local repo -->
<repository>
<id>local-maven-repo</id>
<url>file:///${project.basedir}/lib</url>
</repository>
然后像往常一样添加了依赖项:
<dependency>
<groupId>de.cydhra</groupId>
<artifactId>ABCommands</artifactId>
<version>1.0-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
当我正确记住maven规范时,依赖项现在应该包含在我的JAR中,因为范围是“compile”(我也尝试过运行时:相同的结果)。但是在运行“mvn package”时,完全忽略了依赖关系。
再说一遍:我不想知道如何将依赖项包含到我的项目中,但是如何将它们编译成完成的应用程序。
我目前使用maven-compiler插件生成我的jar。在谷歌搜索时,我听说过maven jar插件,它有一个“包括类路径”的选项,它将我的依赖项写入清单,没有进一步,非常感谢。此外,maven程序集插件可以生成一个jar-with-dependencies,它包含我的所有依赖项,以及应该提供的依赖项。那我错过了什么?