Maven:有依赖关系的Jar VS没有依赖关系的Jar



我目前在一个Java项目中工作,我们使用maven来构建最终的jar。我们都知道有两种方法来构建jar,即一个有依赖关系的jar和一个没有依赖关系的jar。对于后一种情况,我们还需要将依赖的jar文件添加到类路径中。

原则上两者都可以工作,我个人更喜欢一个有依赖关系的jar,但在项目团队成员中决定使用没有依赖关系的单独jar。所以在这里我想知道哪种选择更好?

这个问题没有答案,因为它取决于你需要做什么。

如果你正在编写一个实用程序包或组件,它可能是另一个项目的依赖项,那么没有必要把所有的依赖项都放在里面——最好把依赖项解析留给依赖管理器,比如Maven。

如果你,相反,正在写一个完整的应用程序打包成一个jar,我的意思是MainClass可以与java -jar myjar一起执行的东西,那么将依赖项放在一起将使发行更容易。

考虑一下,例如,如果你正在编写一个web应用程序,它将被打包为WAR,它通常带有依赖项。

最新更新