如何使用pom.xml在maven中将一个模块构建到同一项目的另一个模块中

时间:2014-01-28 09:56:37

标签: maven

我有一个包含两个模块的maven项目。

模块-1 模块-2。

如何通过在module-1的pom.xml中添加依赖项来构建模块-2。 最后,当构建完成时,module-1.jar也包含module-1的文件。

提前谢谢, Ubedulla。

2 个答案:

答案 0 :(得分:1)

此类项目的最佳结构如下:

  +-- pom.xml (root)
       +--- module-1
       !       +--- pom.xml
       +--- module-2
               +--- pom.xml

因此根pom包含这样的模块定义:

 <project ..>

 <groupId>groupId<groupId>
 <artifactId>the-root</artifactId>
 <version>1.0-SNAPSHOT</version>
 <packaging>pom</packaging>

 ...
 <modules>
   <module>module-1</module>
   <module>module-2</module>
 </modules>

所以像module-1这样的模块看起来像这样:

 <project ..>

 <parent>     
   <groupId>groupId<groupId>
   <artifactId>the-root</artifactId>
   <version>1.0-SNAPSHOT</version>
 </parent>

 <artifactId>module-1</artifactId>
 ...

模块2看起来像这样:

 <project ..>

 <parent>     
   <groupId>groupId<groupId>
   <artifactId>the-root</artifactId>
   <version>1.0-SNAPSHOT</version>
 </parent>

 <artifactId>module-2</artifactId>
 ...
 <dependencies>
   <dependency>
     <groupId>${project.groupId}<groupId>
     <artifactId>module-1</artifactId>
     <version>${project.version}</version>
   </dependency>

如果您遵循最佳做法,则不需要../module-1等条目

答案 1 :(得分:0)

其中一种方式(假设模块是jar项目):

  1. 创建父maven pom项目
  2. 创建第一个jar maven项目(模块1)
  3. 创建第二个jar maven项目(模块2),其模块1作为其pom中的依赖项。
  4. 然后以这种方式在其pom中的父项目中添加模块:

    .....
    <modules>
      <module>../module-1</module>
      <module>../module-2</module>
    </modules>
    ......
    

    在这种情况下,module-1和module-2 artifactId。 然后,您只需要使用maven安装父项目,其余的都将被创建。