我有一个现有的Web项目,当前正在使用Ant。我的任务是:


仅基于使用此项目作为依赖项的其他应用程序的某些程序包创建jar
为应用创建战争文件


还有很多其他

另外,我有一个Web服务项目,该项目使用由上一个应用程序构建的jar。该项目使用Maven。

现在,我要实现的是将第一个项目移动到Maven,将其分为coreweb,然后将webservice项目移动到第一个项目。
因此,结果将是一个多模块项目:


核心
ui
网络服务


是否可以将处理Web传递机制的源移到ui模块中(这在Maven中是一场战争),还是我需要将源保持在核心位置?

最好的方法是什么?

我应该调查一下Maven个人资料吗?

我是Maven的新手,所以我不确定该如何处理。

最佳答案

是的,您可以使用Maven实现您想要的。我会像这样破坏模块:

核心:

<groupId>com.myapp</groupId>
<artifactId>core</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>


用户界面:

<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>


有关更多信息,请参阅:


Introduction to the POM:特别是:继承和项目聚合
Maven by Example: Chapter 6. A Multi-module Project:用于示例项目
Multi-modules projects:用于文件夹结构

10-07 19:05
查看更多