`
cloudstars
  • 浏览: 39061 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

从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

 

  • 描述: JAR包
  • 大小: 6.9 KB
分享到:
评论

相关推荐

    Maven如何构建可执行的jar包(包含依赖jar包)

    Maven构建可执行的jar包(包含依赖jar包) Maven是一款流行的构建自动化工具,能够帮助开发者自动化编译、测试、打包和部署项目。Maven的主要优点是,它可以将项目依赖项自动化管理,并且可以生成可执行的jar包。在...

    maven工程备份

    标题中的“maven工程备份”可能是指对一个包含完整Maven配置和源代码的项目进行保存,以便于将来恢复或在其他环境中重新使用。为了备份Maven工程,你可以选择将整个项目目录压缩成ZIP或TAR文件,或者使用版本控制...

    手动创建maven工程

    在pom.xml中定义插件配置,如使用`maven-jar-plugin`打包成JAR,或`maven-assembly-plugin`生成可执行的WAR包。 7. **依赖管理和解决冲突**:Maven会自动下载并管理项目依赖,如果遇到版本冲突,可以通过指定依赖的...

    使用ECLIPSE创建MAVEN工程图解

    我们可以使用 Assembly 插件来生成一个可分发的 JAR 文件,该文件包含了项目的二进制文件和所有的依赖。 七、Jetty 插件 Jetty 插件是一个用来运行 WEB 程序的插件。我们可以使用 Jetty 插件来运行测试 WEB 程序,...

    apache-maven-3.6.0版,附带源码包

    这个版本包含了二进制包(apache-maven-3.6.0-bin.zip)和源码包(apache-maven-3.6.0-src.zip),使得开发者不仅可以直接使用编译好的可执行文件,还能够深入理解Maven的工作原理并进行定制化开发。 Maven 的核心...

    maven常用的命令

    该命令将先清除目标文件夹,然后将项目打包到一个可执行的文件中。 10. 打成 jar 包 使用以下命令可以打成 jar 包: `mvn jar:jar` 该命令将将项目打包到一个 jar 文件中。 11. 生成 Eclipse 项目 使用以下...

    Maven构建的分布式demo

    同时,通过设置`maven-shade-plugin`,我们可以将所有依赖合并到一个可执行的JAR中,方便分布式部署。 4. **构建流程**:在Maven的生命周期中,`compile`阶段用于编译源代码,`test`阶段运行测试,`package`阶段...

    maven+springmvc 项目代码

    开发者只需要在POM中声明依赖,Maven会自动下载并管理这些库,避免了手动管理jar包的繁琐工作。 2. **构建流程**:Maven提供了一系列的生命周期阶段,如编译(compile)、测试(test)、打包(package)、验证...

    maven 一键打包

    在Maven工程中,可以将POM.xml和其他源代码文件放入SVN仓库,团队成员通过`svn checkout`获取最新代码。但在一键打包时,如果项目有多个环境(如开发、测试、生产),可能需要根据不同的环境配置文件。此时,可以...

    maven多模块项目工程-已搭建好

    总之,"maven多模块项目工程-已搭建好"是一个已经配置好的、使用Eclipse开发的项目结构,通过"xd-parent"模块实现了依赖和插件的集中管理,方便开发者进行模块化开发,提高了项目的可维护性和开发效率。在实际使用中...

    在java工程中配置maven项目

    在Java开发环境中,Maven是一个不可或缺的工具,它极大地简化了构建、管理和依赖管理的过程。本文将详细讲解如何在Java工程中配置Maven项目,帮助开发者高效地进行项目构建。 一、Maven简介 Maven是由Apache软件...

    删除无用的jar包的插件

    在Java开发过程中,库文件,特别是jar包,是不可或缺的一部分。它们包含了各种预编译的类和资源,供开发者在项目中引用以实现特定功能。然而,随着时间的推移,项目可能会积累大量的jar包,其中可能包含许多未被使用...

    关于maven的资源依赖介绍

    Jar 工程用于创建 Java 类库,打包结果是一个 `.jar` 文件,可供其他项目引用。 #### 1.2 War 工程 War 工程主要用于Web应用,打包结果是一个 `.war` 文件,包含了Web应用的所有资源,可以直接部署到Servlet容器中...

    maven的安装与配置

    Maven 是一个项目管理和整合的工具,提供了一套完整的构建生命周期框架,帮助开发者自动完成工程的基础构建配置。Maven 使用了一个标准的目录结构和一个默认的构建生命周期,在创建报告、检查、构建和测试自动配置时...

    MAVEN使用文档

    **MAVEN使用文档** Maven是一个强大的项目...记住,Maven的强大之处在于其自动化构建的能力,通过`pom.xml`文件,它可以自动下载依赖、编译代码、运行测试、打包和部署。熟练掌握Maven的使用,将极大地提高开发效率。

    最新java jar包混淆工具

    - `bin`:此目录下可能有ProGuard的可执行文件,方便在命令行中直接运行混淆操作。 - `buildscripts`:构建脚本,比如Ant或Maven的配置文件,它们会调用ProGuard工具完成混淆过程。 在实际项目中,开发人员可能会...

    java打包后jar包反编译工具

    在Java开发过程中,反复编译是一个常见的问题,特别是在大型项目或者需要频繁修改代码的情况下。每次修改代码后都需要重新编译整个项目,这样耗费了大量的时间和资源,降低了开发效率。为了解决这个问题,我们可以...

    maven聚合web工程--struts2+spring

    "parent工程package之后"意味着执行了Maven的`package`目标,这会编译源代码、运行测试,并将结果打包成指定的格式,如JAR或WAR。"module项目的war手工发布到tomcat的webapp下"说明了作者手动将Maven生成的WAR文件...

    maven最全教程.doc

    5. **自动管理依赖关系**:Maven能自动处理jar包间的依赖关系,例如,当一个项目依赖于另一个项目时,Maven会自动将其依赖的jar包引入到项目中。 **2. Maven是什么** 1. **自动化构建工具**:Maven是一个用于Java...

    Better builds with Maven2源代码

    2. 检索依赖:根据POM中的依赖声明,Maven会从远程或本地仓库下载所需的JAR包。 3. 编译源码:在compile阶段,Maven将源代码编译为字节码,生成classes目录。 4. 执行测试:在test阶段,Maven调用JUnit或其他测试...

Global site tag (gtag.js) - Google Analytics