我有一个小型(4模块)maven项目,其中包含pom
包装中的根pom。现在,我有一个impl
模块,其中包含主要方法和设置。这确实会导致一些问题,例如为整个项目构建一个jar,(可能)包含所有模块的巨大依赖列表,以及试图追溯到未来开发人员的主要方法的混乱。
所以我在想:将这种东西放在根项目中是最佳做法,还是应该保留在自己的模块中?将它置于root中是否有任何缺点(例如插件问题)?
答案 0 :(得分:1)
AFAIK,多模块项目的父模块必须具有“pom”类型,这将阻止将任何代码或其他资源放入其中。
当然,我不会尝试这个。
如果您希望将所有类等组合成一个JAR,还有其他方法可以做到这一点。例如,请查看Maven Shade Plugin。
答案 1 :(得分:1)
这确实会导致一些问题,例如为整个项目构建一个jar
有解决方案(例如使用专用模块和Maven Assembly Plugin或Maven Shade插件)。
(可能)包含所有模块的巨大依赖列表
我不明白你在这里指的是什么。
和混乱试图追溯到未来开发人员的主要方法。
如果没有人可以传输信息,请记录下来。
所以我在想:将这种东西放在根项目中是最佳做法,还是应该保留在自己的模块中?将它置于root中是否有任何缺点(例如插件问题)?
Stephen是正确的,聚合和/或父POM必须有pom
类型的包装,你不能在其中加入任何代码。