【问题标题】:Maven: Jar with dependencies VS jar without dependenciesMaven:有依赖关系的 jar VS 没有依赖关系的 jar
【发布时间】:2015-09-20 17:16:54
【问题描述】:
我目前在一个Java项目中工作,我们使用maven来构建最终的jar。众所周知,有两种构建 jar 的方法,即一个带有依赖项的单个 jar 和一个没有依赖项的 jar。在后一种情况下,我们还需要将依赖的 jar 添加到类路径中。
原则上两者都可以工作,我个人更喜欢一个有依赖关系的jar,但在项目团队成员决定使用没有依赖关系的单独jar。所以在此我想知道哪个选择更好?
【问题讨论】:
标签:
maven
jar
jar-with-dependencies
【解决方案1】:
这个问题没有答案,因为它取决于你需要做什么。
如果您正在编写一个实用程序包或组件,它可能是另一个项目的依赖项,那么将所有依赖项都包含在其中是没有意义的 - 最好将依赖项解析留给依赖项管理器,例如 Maven。
如果您正在编写打包为 jar 的完整应用程序,我的意思是可以使用 java -jar myjar 执行的带有 MainClass 的东西,那么将依赖项放在一起将使分发更容易。
考虑一下,例如,如果您正在编写一个 web 应用程序,它将被打包为一个 WAR,它通常带有依赖项。