是否应该使用maven jar工件打包依赖项?

时间:2012-01-19 22:58:32

标签: maven dep

Sonatype的 Maven:完整参考表示编译范围的依赖关系在所有类路径上,并与工件打包在一起。

  

编译是默认范围;如果a,所有依赖项都是编译范围的   范围未提供。编译依赖项全部可用   classpaths,它们都是打包的。

我看不出它们是打包的。 。 。这是不是意味着它们应该包含在jar文件中?如果没有,这是什么意思?

1 个答案:

答案 0 :(得分:1)

你是对的。编译范围依赖项不会与输出jar打包在一起。 (使用JAR插件)。我认为'包'是指最终产品(二进制可执行文件)。

我遇到了这个stackOverflow线程(How can I create an executable jar with dependencies using Maven?)。在这里,他们打包所有依赖项,以构建Main类中的可执行文件。在这种情况下,您需要打包的可执行文件中的所有编译时依赖项。 (因为JAVA延迟加载它不是必须的,但最好具有所有编译时依赖性)