2013-02-17 59 views
4

我有一个项目,其中有像A,B和C这样的组件。所有组件都暴露其他组件正在使用的其余接口。所以,我使用ant来生成A.war,A-services.jar,B.war,B-services.jar,C.war,C-services.jar。Maven中的多个包装

A-services.jar含有B和C的 接口声明B-services.jar含有A和C的接口声明 C-services.jar包含A和B.

的接口声明

我想将它迁移到Maven。但我已经在一些地方看过,用单个pom生产多个包如A-services.jarA.war并不是一个好主意。这应该是最好的方式。

回答

4

我会假设你有A服务的原因是因为共享数据模型等。在这种情况下,你最终会得到多个项目。 A服务的POM。然后是另一个依赖A服务的WAR项目。而你的B项目也对A服务有依赖性。

有人说,看来你真的只需要将你的项目分为数据模型项目和实施项目。

您将有六个项目。不要试图让Maven在同一个项目中生成WAR和JAR。

+1

非常感谢。我对适当的项目结构感到困惑,将实现和接口/依赖分离为单独的项目似乎是一个很好的打包结构。 – 2013-02-17 09:32:14

2

可能找到maven-assembly-plugin对您有所帮助,但正如Andrew所说的,您确实需要将您的项目划分为合适的模块。这是Maven真正的目的。