温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

怎么使用maven将项目的test代码打包进jar中

发布时间:2022-03-08 14:45:35 来源:亿速云 阅读:546 作者:小新 栏目:开发技术

这篇文章给大家分享的是有关怎么使用maven将项目的test代码打包进jar中的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

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

项目结构如下

&hellip;/src/main/java/package/** <&ndash; application code

&hellip;/src/test/java/package/** <&ndash; test code

需求

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

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

我们选择Maven Assembly Plugin来打包

三步

1.在pom中添加如下:

<project>     ...     <build>         <plugins>             <plugin>                 <artifactId>maven-assembly-plugin</artifactId>                 <version>2.3</version>                 <configuration>                     <descriptor>src/main/assembly/assembly.xml</descriptor>                 </configuration>                 <executions>                     <execution>                         <id>make-assembly</id>                         <phase>package</phase>                         <goals>                             <goal>single</goal>                         </goals>                         <configuration>                             <archive>                                 <manifest>                                     <mainClass>com.sample.TestMain</mainClass>                                 </manifest>                             </archive>                         </configuration>                     </execution>                 </executions>             </plugin>             ...         </plugins>     </build>     <dependencies>       ...     </dependencies> </project>

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

<assembly     xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.3"     xmlns:xsi="http://www.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">     <id>fat-tests</id>     <formats>         <format>jar</format>     </formats>     <includeBaseDirectory>false</includeBaseDirectory>     <dependencySets>         <dependencySet>             <outputDirectory>/</outputDirectory>             <useProjectArtifact>true</useProjectArtifact>             <unpack>true</unpack>             <scope>test</scope>         </dependencySet>     </dependencySets>     <fileSets>         <fileSet>             <directory>${project.build.directory}/test-classes</directory>             <outputDirectory>/</outputDirectory>             <includes>                 <include>**/*.class</include>             </includes>             <useDefaultExcludes>true</useDefaultExcludes>         </fileSet>     </fileSets> </assembly>

3.运行mvn package

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

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

怎么使用maven将项目的test代码打包进jar中

参考链接

maven打包跳过test

在pom.xml文件中添加插件

<plugin>     <groupId>org.apache.maven.plugins</groupId>     <artifactId>maven-surefire-plugin</artifactId>     <version>2.18.1</version>     <configuration>     <skipTests>true</skipTests>     </configuration> </plugin>

使用mvn命令 带附加参数

mvn install -Dmaven.test.skip=true

或者

mvn install -DskipTests

感谢各位的阅读!关于“怎么使用maven将项目的test代码打包进jar中”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI