2

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

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

和很多其他人。

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

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

  • 用户界面
  • 网络服务

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

最好的方法是什么?

我应该查看 Maven 配置文件吗?

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

4

1 回答 1

2

Yes you can achieve what you want with Maven. I would break the modules like this:

Core:

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

Web service:

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

Main Project:

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

Then, in Core / UI and Web service you declare myapp as the parent:

<parent>
    <groupId>com.myapp</groupId>
    <artifactId>myapp</artifactId>
    <version>1.0-SNAPSHOT</version>
</parent>

For further info refer to:

于 2013-02-17T23:43:56.767 回答