使用maven如何将项目中的test代码打包进jar中

网友投稿 448 2022-08-22


使用maven如何将项目中的test代码打包进jar中

目录maven将项目的test代码打包进jar中在pom中添加如下在resources中添加一个assembly.xml文件运行mvnpackagemaven打包跳过test在pom.xml文件中添加插件使用mvn命令带附加参数

maven将项目的test代码打包进jar中

项目结构如下:

…/src/main/java/package/** <– application code

…/src/test/java/package/** <– test code

需求:

test中有一个包含main方法的主类TestMain.java,将main、test、全部依赖代码打包到一个jar包中,最终能通过java -jar的方式运行TestMain

这里Maven Jar Plugin 、 Maven Shade Plugin 都不是很适用。

我们选择Maven Assembly Plugin来打包

三步实现:

在pom中添加如下

...

maven-assembly-plugin

2.3

src/main/assembly/assembly.xml

make-assembly

package

single

com.sample.TestMain

...

...

在resources中添加一个assembly.xml文件

xmlns="http://maven.ahttp://pache.org/plugins/maven-assembly-plugin/assembly/1.1.3"

xmlns:xsi="http://w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.3 http://maven.apache.org/xsd/assembly-1.1.3.xsd">

fat-tests

jar

false

/

true

true

test

${project.build.directory}/test-classes

/

**/*.class

true

xmlns="http://maven.ahttp://pache.org/plugins/maven-assembly-plugin/assembly/1.1.3"

xmlns:xsi="http://w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.3 http://maven.apache.org/xsd/assembly-1.1.3.xsd">

fat-tests

jar

false

/

true

true

test

${project.build.directory}/test-classes

/

**/*.class

true

运行mvn package

在target目录下会生成一个xxxxx-1.0-SNAPSHOT-assembly.jar的文件,FjHHUk这就是我们需要的jar包了。我们可以用压缩软件看到生成的这个jar包中包含了test中所有的测试类。

可以直接使用java -jar xxxxx-1.0-SNAPSHOT-assembly.jar来运行jar包。主类就是第一步中设置的那个类

参考链接

maven打包跳过test

在pom.xml文件中添加插件

org.apache.maven.plugins

maven-surefire-plugin

2.18.1

true

使用mvn命令 带附加参数

mvn install -Dmaven.test.skip=true

或者

mvn install -DskipTests


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:pip安装报错:Command python setup.py egg_info failed with error code 1(pip install os报错)
下一篇:Linux下OpenCV出现错误:ASSERT false in file qasciikey.cpp, line 501(python opencv报错)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~