从maven工程中打一个可执行的测试代码JAR包

 目标:

      将测试目录下的代码与配置文件打个JAR包,设置MANIFEST.MF的Main-Class属性,另外,该JAR包依赖了主代码JAR包以及一些第三方JAR包;

   

要求:

1)包括测试代码与测试配置文件;

2)JAR包要求可执行;

 

步骤:

1、配置assembly插件

<plugin>
   <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-assembly-plugin</artifactId>
      <version>2.4</version>
      <configuration>
       <ignoreMissingDescriptor>true</ignoreMissingDescriptor>
    <descriptors>
     <descriptor>assembly/test.xml</descriptor>
    </descriptors>
    <archive>
     <manifest>
      <mainClass>com.rb.itms.sap.SyncServiceClientMain</mainClass>
     </manifest>              
    </archive>
   </configuration>
   <executions>  <!--执行器 mvn assembly:assembly-->
    <execution>
     <id>make-assembly</id>
     <phase>package</phase>
     <goals> 
        <goal>single</goal>
     </goals>
    </execution>
   </executions>
   </plugin>

 

2、设置test.xml配置文件

<assembly>
 <id>test-jar</id>
 <formats>
  <format>jar</format>
 </formats>
 <includeBaseDirectory>false</includeBaseDirectory>
 <fileSets>
  <fileSet>
   <outputDirectory>/</outputDirectory>
   <directory>${project.basedir}/target/test-classes</directory>
   <includes>
    <include>**/*.class</include>
    <include>**/*.xml</include>
    <include>**/*.properties</include>
   </includes>
  </fileSet>
 </fileSets>
 <!--  将scope为runtime的依赖包打包到lib目录下-->
 <dependencySets> 
        <dependencySet> 
            <useProjectArtifact>true</useProjectArtifact> 
            <outputDirectory>lib</outputDirectory> 
            <scope>runtime</scope> 
        </dependencySet> 
    </dependencySets>
</assembly>

 

3、执行mvn clean package,最终的JAR包(这里是itms-sap-0.0.1-SNAPSHOT-test-jar.jar)如下;

 

4、将JAR包中的lib目录拷出来,执行:java -jar -Djava.ext.dirs=lib itms-sap-0.0.1-SNAPSHOT-test-jar.jar

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值