将项目从Ant移动到Maven并将其拆分

时间:2013-02-17 23:10:11

标签: java maven ant

我有一个现有的Web项目,目前使用Ant。我有以下任务:

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

和很多其他人。

另外我有一个webservice项目,它使用前一个应用程序构建的jar。该项目使用Maven。

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

  • UI
  • web服务

是否可以将处理Web传输机制的源移动到ui模块(这将是Maven中的战争),或者我需要将源保留在核心中?

这样做的最佳方法是什么?

我应该查看Maven个人资料吗?

我是Maven的新手,所以我不确定如何处理这个问题。

1 个答案:

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

有关详细信息,请参阅: