我有一个现有的Web项目,目前使用Ant。我有以下任务:
和很多其他人。
另外我有一个webservice项目,它使用前一个应用程序构建的jar。该项目使用Maven。
现在我想要实现的是将第一个项目移动到Maven,将其分解为core
和web
,然后将webservice项目移动到第一个项目中。
因此,结果将是一个多模块项目:
是否可以将处理Web传输机制的源移动到ui模块(这将是Maven中的战争),或者我需要将源保留在核心中?
这样做的最佳方法是什么?
我应该查看Maven个人资料吗?
我是Maven的新手,所以我不确定如何处理这个问题。
答案 0 :(得分:2)
是的,你可以用Maven实现你想要的。我会打破这样的模块:
核心:
<groupId>com.myapp</groupId>
<artifactId>core</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<强> UI 强>:
<groupId>com.myapp</groupId>
<artifactId>ui</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>war</packaging>
<!-- Dependends on core -->
<dependency>
<groupId>com.myapp</groupId>
<artifactId>core</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
网络服务:
<groupId>com.myapp</groupId>
<artifactId>ws</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>war</packaging>
<!-- Also Dependends on core -->
<dependency>
<groupId>com.myapp</groupId>
<artifactId>core</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
主要项目:
<groupId>com.myapp</groupId>
<artifactId>myapp</artifactId>
<packaging>pom</packaging>
<version>1.0-SNAPSHOT</version>
<modules>
<module>core</module>
<module>ui</module>
<module>ws</module>
</modules>
然后,在Core / UI和Web服务中,您将myapp声明为父级:
<parent>
<groupId>com.myapp</groupId>
<artifactId>myapp</artifactId>
<version>1.0-SNAPSHOT</version>
</parent>
有关详细信息,请参阅: