Maven 多模块打包,把编译的文件放到一个目录

1.parent   -->pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>com.tesst</groupId>
  <artifactId>parent</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>pom</packaging>

  <name>parent</name>
  <url>http://maven.apache.org</url>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project-sourceEncoding>UTF-8</project-sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <maven.compiler.encoding>UTF-8</maven.compiler.encoding>
  </properties>

  <modules>
    <module>person</module>
  </modules>

   <build>
        <plugins>
            <plugin>
                <artifactId>maven-assembly-plugin</artifactId>
                <configuration>
                    <finalName>parent</finalName>
                    <descriptors>
                        <descriptor>package.xml</descriptor>
                    </descriptors>
                </configuration>
                <executions>
                    <execution>
                        <id>make-assembly</id>
                        <phase>package</phase>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
  <repositories>
    <repository>
      <id>aliyun-repos</id>
      <name>aliyun Repository</name>
      <url>http://maven.aliyun.com/nexus/content/groups/public</url>
    </repository>
    <repository>
      <id>jeecg</id>
      <name>jeecg Repository</name>
      <url>http://maven.jeecg.org/nexus/content/repositories/jeecg</url>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
    </repository>
    <repository>
      <id>jeecg-snapshots</id>
      <name>jeecg-snapshots Repository</name>
      <url>http://maven.jeecg.org/nexus/content/repositories/snapshots</url>
      <snapshots>
        <enabled>true</enabled>
      </snapshots>
    </repository>
    <repository>
      <id>java-repos</id>
      <name>Java Repository</name>
      <url>http://download.java.net/maven/2/</url>
    </repository>

    <repository>
      <id>springsource-repos</id>
      <name>SpringSource Repository</name>
      <url>http://repo.spring.io/release/</url>
    </repository>

    <repository>
      <id>central-repos</id>
      <name>Central Repository</name>
      <url>http://repo.maven.apache.org/maven2</url>
    </repository>

    <repository>
      <id>central-repos2</id>
      <name>Central Repository 2</name>
      <url>http://repo1.maven.org/maven2/</url>
    </repository>

    <repository>
      <id>activiti-repos</id>
      <name>Activiti Repository</name>
      <url>https://maven.alfresco.com/nexus/content/groups/public</url>
    </repository>

    <repository>
      <id>activiti-repos2</id>
      <name>Activiti Repository 2</name>
      <url>https://app.camunda.com/nexus/content/groups/public</url>
    </repository>
    <repository>
      <id>thinkgem-repos2</id>
      <name>ThinkGem Repository 2</name>
      <url>https://raw.github.com/thinkgem/repository/master</url>
    </repository>
  </repositories>
  <!-- 设定插件仓库 -->
  <pluginRepositories>
    <!-- 如有Nexus私服, 取消注释并指向正确的服务器地址. -->
    <pluginRepository>
      <id>aliyun-repos</id>
      <name>aliyun Repository</name>
      <url>http://maven.aliyun.com/nexus/content/groups/public</url>
    </pluginRepository>
  </pluginRepositories>
</project>

parent --> package.xml

<assembly
        xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
    <id></id>
    <formats>
        <format>tar.gz</format>
        <format>dir</format>
    </formats>
    <includeBaseDirectory>false</includeBaseDirectory>
    <fileSets>
        <fileSet>
            <directory>person/target/parent/</directory>
            <includes>
                <include>**/*.*</include>
            </includes>
            <outputDirectory>parent</outputDirectory>
        </fileSet>
    </fileSets>
</assembly>

 

2.person  -->pom.xml

<?xml version="1.0"?>
<project
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
   xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <modelVersion>4.0.0</modelVersion>
   <parent>
      <groupId>com.tesst</groupId>
      <artifactId>parent</artifactId>
      <version>0.0.1-SNAPSHOT</version>
   </parent>
   <groupId>com.tesst</groupId>
   <artifactId>person</artifactId>
   <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>
   <name>person</name>
   <url>http://maven.apache.org</url>
   <properties>
      <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
   </properties>
     <build>
        <plugins>
            <!-- assembly plugin -->
            <plugin>
                <artifactId>maven-assembly-plugin</artifactId>
                <configuration>
                    <descriptors>
                        <descriptor>package.xml</descriptor>
                    </descriptors>
                    <finalName>parent</finalName>
                </configuration>
                <executions>
                    <execution>
                        <id>dwzip</id>
                        <phase>package</phase>
                        <goals>
                            <goal>single</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
</project>

person -->   package.xml

<assembly
   xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
   <id></id>
   <formats>
      <format>dir</format>
   </formats>
   <includeBaseDirectory>false</includeBaseDirectory>
   <fileSets>
      <fileSet>
         <directory>target/</directory>
         <includes>
            <include>person-0.0.1-SNAPSHOT.jar</include>
         </includes>
         <outputDirectory>plugin/writer/adswriter</outputDirectory>
      </fileSet>
   </fileSets>

   <dependencySets>
      <dependencySet>
         <useProjectArtifact>false</useProjectArtifact>
         <outputDirectory>plugin/writer/adswriter/libs</outputDirectory>
         <scope>runtime</scope>
      </dependencySet>
   </dependencySets>
</assembly>

 

3.编译:

进入parent目录下, 执行  

mvn -U clean package assembly:assembly -Dmaven.test.skip=true

打包成功,日志显示如下:

  [INFO] BUILD SUCCESS
  [INFO] -----------------------------------------------------------------
  [INFO] Total time: 08:12 min
  [INFO] Finished at: 2015-12-13T16:26:48+08:00
  [INFO] Final Memory: 133M/960M
  [INFO] -----------------------------------------------------------------

 

转载于:https://my.oschina.net/u/1867229/blog/832452

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值