记录一次maven打包时将test目录下的类打包到jar中,Maven Assembly Plugin的使用
今天有人问我打包后找不到主类,运行的类写在test中.按照常规,test目录下的文件不会打包到jar包中.(但是我测试一个springboot工程就可以,这里之后再研究)
具体解决如下
第一步:在pom文件中引入Maven Assembly Plugin插件 (注意:如果含有其他打包插件,最好先排除掉干扰)

- 1 <plugin>
- 2 <artifactId>maven-assembly-plugin</artifactId>
- 3 <version>2.3</version>
- 4 <configuration>
- 5 <descriptor>src/main/resources/assembly.xml</descriptor>
- 6 </configuration>
- 7 <executions>
- 8 <execution>
- 9 <id>make-assembly</id>
- 10 <phase>package</phase>
- 11 <goals>
- 12 <goal>single</goal>
- 13 </goals>
- 14 <configuration>
- 15 <archive>
- 16 <manifest>
- 17 <mainClass>com.lingzhi.jedis.JedisTest</mainClass>
- 18 </manifest>
- 19 </archive>
- 20 </configuration>
- 21 </execution>
- 22 </executions>
- 23 </plugin>
- 24
- 25 </plugins>
- 26 </build>

第二步:在resources目录下创建插件的配置文件,这里名称为assembly.xml

- 1 <assembly
- 2 xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.3"
- 3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- 4 xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.3 http://maven.apache.org/xsd/assembly-1.1.3.xsd">
- 5 <id>fat-tests</id>
- 6 <formats>
- 7 <format>jar</format>
- 8 </formats>
- 9 <includeBaseDirectory>false</includeBaseDirectory>
- 10 <dependencySets>
- 11 <dependencySet>
- 12 <outputDirectory>/</outputDirectory>
- 13 <useProjectArtifact>true</useProjectArtifact>
- 14 <unpack>true</unpack>
- 15 <scope>test</scope>
- 16 </dependencySet>
- 17 </dependencySets>
- 18 <fileSets>
- 19 <fileSet>
- 20 <directory>${project.build.directory}/test-classes</directory>
- 21 <outputDirectory>/</outputDirectory>
- 22 <includes>
- 23 <include>**/*.class</include>
- 24 </includes>
- 25 <useDefaultExcludes>true</useDefaultExcludes>
- 26 </fileSet>
- 27 </fileSets>
- 28 </assembly>

第三步,maven 打包
结果如上图,有两个jar包,其中下面这个就是包括test的,上面是默认情况
在配置文件中引入assembly插件时,有一些东西需要按照实际情况进行更改,比如主类入口,配置文件路径
打包并测试
执行maven命令:
mvn clean compile test-compile assembly:single
运行jar包:
java -jar test-1.0-assembly.jar
记录一次maven打包时将test目录下的类打包到jar中,Maven Assembly Plugin的使用的更多相关文章
- 由于xftp打开target目录,导致maven编译的时候target目录无法访问,打包失败
由于xftp打开target目录,导致maven编译的时候target目录无法访问,打包失败: 在xftp里关闭target目录就可以了...无时不在的坑
- vue打包时,assets目录 和static目录下文件的处理区别(nodeModule中插件源码修改后,打包后的文件应放在static目录)
为了回答这个问题,我们首先需要了解Webpack如何处理静态资产.在 *.vue 组件中,所有模板和CSS都会被 vue-html-loader 及 css-loader 解析,并查找资源URL.例如 ...
- Android 打包时 Keep 住某些方法或类
# ${android_sdk}/tools/proguard/proguard-android.txt # Understand the @Keep support annotation. -kee ...
- tar 命令打包,除了某个目录剩下的都打包
tar czvf beifen.tar.gz ./webdata --exclude webdata/uploadfiles
- 关于AndroidSDK配置时的tools目录下找不到adb.exe的错误
欢迎关注公众号,每天推送Android技术文章,二维码如下:(可扫描) 在配置android SDK的时候,有时会发现在android-sdk-windows\tools目录下并没有adb.exe,这 ...
- maven打包时包含本地jar
项目中需要使用maven的打包工具,生成zip压缩包,使用的插件是assembly-plugin.因为一些特殊的原因,需要使用一些本地的jar进行依赖,加载外部jar后编码过程中没有任何问题,但是打包 ...
- SpringBoot项目maven 打包时跳过测试
在打包spring boot项目时,如果测试用例特别多,打包时间会增加: 而且测试用例有时忘记了做相应修改,在打包时则会报错而终止打包,就很烦. 所以这时会想在打包时跳过测试,大致有2种方法: 方法一 ...
- maven的安装与使用(运行单元测试和打包等)
maven的下载与安装 maven是用于java的自动化构建工具. 1.下载: http://maven.apache.org/download.cgi 下载maven包,比如 apache-mave ...
- 使用Maven Assembly plugin将依赖打包进jar
一个Eclipse的工程,在pom中配置了若干依赖,需要将pom中所有的依赖全部打包进一个jar包中,可以选择的方案有maven-assembly-plugin和fatjar.以前采用fatjar进行 ...
随机推荐
- 3 Servlet、Filter使用
1 使用Servlet获取数据 使用Servlet获取前端的数据,在后端从控制台中打印出前端的数据,前端页面如下图 前端页面程序:需要注意的是form的提交,以及input的不同类型对应的显示不同 & ...
- 字符串匹配问题x
qwq这个是栈的w 不是树w qwq我承认我发题很杂啦 字符串匹配问题x [问题描述] 字符串中只含有括号 (),[],<>,{},判断输入的字符串中括号是否匹配 ...
- g++版本低于4.7使用C++11
编译时需要添加: 需要添加头文件#include<memory> g++ -std=gnu++0x share_ptr.cpp -o s 原文: C++11 features are av ...
- codeforces gym #101161G - Binary Strings(矩阵快速幂,前缀斐波那契)
题目链接: http://codeforces.com/gym/101161/attachments 题意: $T$组数据 每组数据包含$L,R,K$ 计算$\sum_{k|n}^{}F(n)$ 定义 ...
- javascript中的BOM
浏览器对象模型BOM,提供了访问浏览器的接口.这些功能大多和网页内容无关,多年来,由于缺乏规范导致BOM中的不同方法在不同浏览器中的实现有所差异,直到html5,才将BOM的主要方面纳入规范. BOM ...
- Leetcode题目139.单词拆分(动态规划-中等)
题目描述: 给定一个非空字符串 s 和一个包含非空单词列表的字典 wordDict,判定 s 是否可以被空格拆分为一个或多个在字典中出现的单词. 说明: 拆分时可以重复使用字典中的单词.你可以假设字典 ...
- logserver 日志服务项目发布
logserver是使用logback.light-4j.commons-exec等构建的简单日志服务,参考项目logbackserver和light4j,支持跟踪日志.分页查看.搜索定位.下载文件等 ...
- 树形dp(灯与街道)
https://cn.vjudge.net/contest/260665#problem/E 题意: 给你一个n个点m条边的无向无环图,在尽量少的节点上放灯,使得所有边都被照亮.每盏灯将照亮以它为一个 ...
- 性能测试 | 系统运行缓慢,CPU 100%,Full GC次数过多问题排查
处理过线上问题的同学基本上都会遇到系统突然运行缓慢,CPU 100%,以及Full GC次数过多的问题.当然,这些问题的最终导致的直观现象就是系统运行缓慢,并且有大量的报警.本文主要针对系统运行缓慢这 ...
- Redis调试 Centos
https://zhuanlan.zhihu.com/p/67205845 https://www.cxc233.com/blog/e1d54234.html