2010-07-08 23 views
3

我们有一个聚集.pom设立包括几个,单独的模块,类似于Maven documentation的Maven的pom.xml - 项目聚集

<project> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>com.mycompany.app</groupId> 
    <artifactId>my-app</artifactId> 
    <version>1</version> 
    <packaging>pom</packaging> 

    <modules> 
    <module>my-module</module> 
    <module>my-module-2</module> 
    </modules> 
</project> 

有没有办法让文物从构建(。 JAR文件)从这两个模块构建到共同的'dist'目录后?我不想调整为“my-module/target”中各个模块的输出目录,因为它们也可以单独构建。

我是一个Maven新人,所以我敢肯定有一个简单的方法来做到这一点我失踪了。

回答

2

更多信息有没有办法建立后能得到这两个模块集成到一个共同的“DIST”目录从构建工件(.JAR文件)?

Maven Assembly Plugin可以做到这一点,它非常强大和灵活。但是,功能和灵活性也意味着这不是最简单的插件。在你的情况下,这个想法是从moduleSets生成一个dir分配,你必须为此创建一个自定义的assembly descriptor

我建议从Maven书的8.2. Assembly Basics一章开始,并特别注意章节8.5.5. moduleSets Sections

0

我猜Maven的组装插件可以做到这一点

1

从其他的答案中的链接阅读更多以后,这里就是我要去尝试现在:

 <plugin> 
      <artifactId>maven-resources-plugin</artifactId> 

      <executions> 
       <execution> 
        <id>copy-jars</id> 
        <phase>package</phase> 
        <goals> 
         <goal>copy-resources</goal> 
        </goals> 
        <configuration> 
         <resources> 
          <resource> 
           <directory>../src/my-module/target</directory> 
           <includes> 
            <include>**/my-module*.jar</include> 
           </includes> 
          </resource> 
         </resources> 
        </configuration> 
       </execution> 
      </executions> 
     </plugin> 

不完全是漂亮,但同时研究大会插件的可能较长长远的解决方案,这会做。