Sonatype的 Maven:完整参考表示编译范围的依赖关系在所有类路径上,并与工件打包在一起。
编译是默认范围;如果a,所有依赖项都是编译范围的 范围未提供。编译依赖项全部可用 classpaths,它们都是打包的。
我看不出它们是打包的。 。 。这是不是意味着它们应该包含在jar文件中?如果没有,这是什么意思?
答案 0 :(得分:1)
你是对的。编译范围依赖项不会与输出jar打包在一起。 (使用JAR插件)。我认为'包'是指最终产品(二进制可执行文件)。
我遇到了这个stackOverflow线程(How can I create an executable jar with dependencies using Maven?)。在这里,他们打包所有依赖项,以构建Main类中的可执行文件。在这种情况下,您需要打包的可执行文件中的所有编译时依赖项。 (因为JAVA延迟加载它不是必须的,但最好具有所有编译时依赖性)