目标:
将测试目录下的代码与配置文件打个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
相关推荐
Maven构建可执行的jar包(包含依赖jar包) Maven是一款流行的构建自动化工具,能够帮助开发者自动化编译、测试、打包和部署项目。Maven的主要优点是,它可以将项目依赖项自动化管理,并且可以生成可执行的jar包。在...
标题中的“maven工程备份”可能是指对一个包含完整Maven配置和源代码的项目进行保存,以便于将来恢复或在其他环境中重新使用。为了备份Maven工程,你可以选择将整个项目目录压缩成ZIP或TAR文件,或者使用版本控制...
在pom.xml中定义插件配置,如使用`maven-jar-plugin`打包成JAR,或`maven-assembly-plugin`生成可执行的WAR包。 7. **依赖管理和解决冲突**:Maven会自动下载并管理项目依赖,如果遇到版本冲突,可以通过指定依赖的...
我们可以使用 Assembly 插件来生成一个可分发的 JAR 文件,该文件包含了项目的二进制文件和所有的依赖。 七、Jetty 插件 Jetty 插件是一个用来运行 WEB 程序的插件。我们可以使用 Jetty 插件来运行测试 WEB 程序,...
这个版本包含了二进制包(apache-maven-3.6.0-bin.zip)和源码包(apache-maven-3.6.0-src.zip),使得开发者不仅可以直接使用编译好的可执行文件,还能够深入理解Maven的工作原理并进行定制化开发。 Maven 的核心...
该命令将先清除目标文件夹,然后将项目打包到一个可执行的文件中。 10. 打成 jar 包 使用以下命令可以打成 jar 包: `mvn jar:jar` 该命令将将项目打包到一个 jar 文件中。 11. 生成 Eclipse 项目 使用以下...
同时,通过设置`maven-shade-plugin`,我们可以将所有依赖合并到一个可执行的JAR中,方便分布式部署。 4. **构建流程**:在Maven的生命周期中,`compile`阶段用于编译源代码,`test`阶段运行测试,`package`阶段...
开发者只需要在POM中声明依赖,Maven会自动下载并管理这些库,避免了手动管理jar包的繁琐工作。 2. **构建流程**:Maven提供了一系列的生命周期阶段,如编译(compile)、测试(test)、打包(package)、验证...
在Maven工程中,可以将POM.xml和其他源代码文件放入SVN仓库,团队成员通过`svn checkout`获取最新代码。但在一键打包时,如果项目有多个环境(如开发、测试、生产),可能需要根据不同的环境配置文件。此时,可以...
总之,"maven多模块项目工程-已搭建好"是一个已经配置好的、使用Eclipse开发的项目结构,通过"xd-parent"模块实现了依赖和插件的集中管理,方便开发者进行模块化开发,提高了项目的可维护性和开发效率。在实际使用中...
在Java开发环境中,Maven是一个不可或缺的工具,它极大地简化了构建、管理和依赖管理的过程。本文将详细讲解如何在Java工程中配置Maven项目,帮助开发者高效地进行项目构建。 一、Maven简介 Maven是由Apache软件...
在Java开发过程中,库文件,特别是jar包,是不可或缺的一部分。它们包含了各种预编译的类和资源,供开发者在项目中引用以实现特定功能。然而,随着时间的推移,项目可能会积累大量的jar包,其中可能包含许多未被使用...
Jar 工程用于创建 Java 类库,打包结果是一个 `.jar` 文件,可供其他项目引用。 #### 1.2 War 工程 War 工程主要用于Web应用,打包结果是一个 `.war` 文件,包含了Web应用的所有资源,可以直接部署到Servlet容器中...
Maven 是一个项目管理和整合的工具,提供了一套完整的构建生命周期框架,帮助开发者自动完成工程的基础构建配置。Maven 使用了一个标准的目录结构和一个默认的构建生命周期,在创建报告、检查、构建和测试自动配置时...
**MAVEN使用文档** Maven是一个强大的项目...记住,Maven的强大之处在于其自动化构建的能力,通过`pom.xml`文件,它可以自动下载依赖、编译代码、运行测试、打包和部署。熟练掌握Maven的使用,将极大地提高开发效率。
- `bin`:此目录下可能有ProGuard的可执行文件,方便在命令行中直接运行混淆操作。 - `buildscripts`:构建脚本,比如Ant或Maven的配置文件,它们会调用ProGuard工具完成混淆过程。 在实际项目中,开发人员可能会...
在Java开发过程中,反复编译是一个常见的问题,特别是在大型项目或者需要频繁修改代码的情况下。每次修改代码后都需要重新编译整个项目,这样耗费了大量的时间和资源,降低了开发效率。为了解决这个问题,我们可以...
"parent工程package之后"意味着执行了Maven的`package`目标,这会编译源代码、运行测试,并将结果打包成指定的格式,如JAR或WAR。"module项目的war手工发布到tomcat的webapp下"说明了作者手动将Maven生成的WAR文件...
5. **自动管理依赖关系**:Maven能自动处理jar包间的依赖关系,例如,当一个项目依赖于另一个项目时,Maven会自动将其依赖的jar包引入到项目中。 **2. Maven是什么** 1. **自动化构建工具**:Maven是一个用于Java...
2. 检索依赖:根据POM中的依赖声明,Maven会从远程或本地仓库下载所需的JAR包。 3. 编译源码:在compile阶段,Maven将源代码编译为字节码,生成classes目录。 4. 执行测试:在test阶段,Maven调用JUnit或其他测试...