一个maven项目打多个可执行Jar文件

使用maven-jar-plugin插件可以将一个maven项目按照需求打出多个可执行的jar文件。
pom关键配置如下所示:

<plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jar-plugin</artifactId>
        <configuration>
              <archive>
                 <manifest>
                    <mainClass>com.synnex.cws.util.ExcelUtil</mainClass>
                    <addClasspath>true</addClasspath>
                 <!-- <classpathPrefix>lib/</classpathPrefix> -->
                 </manifest>
              </archive>
        </configuration>
        <executions>
          <execution>
            <id>make-jar2</id>
            <phase>package</phase>
            <goals>
              <goal>jar</goal>
            </goals>
            <configuration>
              <finalName>${project.build.finalName}_generator</finalName>
              <archive>
                <manifest>
                  <addClasspath>true</addClasspath>
                  <mainClass>
                    com.synnex.cws.service.GenerateCcRpt
                  </mainClass>
                </manifest>
              </archive>
            </configuration>
          </execution>
          <execution>
            <id>make-jar3</id>
            <phase>package</phase>
            <goals>
              <goal>jar</goal>
            </goals>
            <configuration>
              <finalName>${project.build.finalName}_333</finalName>
              <archive>
                <manifest>
                  <addClasspath>true</addClasspath>
                  <mainClass>
                    com.synnex.cws.service.Generate333
                  </mainClass>
                </manifest>
              </archive>
            </configuration>
          </execution>
        </executions>
      </plugin>
  • 第一个configuration配置项,用来覆盖超级pom默认的绑定。
  • 之后再配置两个execution,每个execution的finalName(打成jar包的名字)和mainClass(默认执行的类)分别定义。则执行mvn package时,将打出3个不同执行类的可执行jar包。分别为:项目名.jar、项目名__generator.jar和项目名_333.jar。

你可能感兴趣的:(maven打包)