我有一个项目,其中有很少的组件,如A,B和C.所有组件都暴露了其他组件正在使用的休息接口。所以,我使用ant产品A.war,A-services.jar,B.war,B-services.jar,C.war,C-services.jar。
A-services.jar包含B和C的接口声明。 B-services.jar包含A和C的接口声明。 C-services.jar包含A和B的接口声明。
我想将其迁移到Maven。但是我在某些地方读过,让一个pom产生多个包,如 A-services.jar 和 A.war 并不是一个好主意。什么应该是最好的方法。
答案 0 :(得分:4)
我认为你拥有A服务的原因是因为共享数据模型等。在这种情况下,您最终会有多个项目。 A服务的POM。然后是另一个依赖于A服务的A WAR项目。而你的B项目也依赖于A服务。
说到这一点,你似乎真的需要将你的项目分成数据模型项目和实施项目。
您将有六个项目。不要试图让Maven从同一个项目中生成WAR和JAR。
答案 1 :(得分:2)
你可能会找到maven-assembly-plugin
对你有所帮助,但正如安德鲁所说,你真的需要将你的项目分成适当的模块。这就是Maven的真正目的。