使用assembly插件打包maven项目
使用IDEA工具开发好Java程序后,就可以打包了。本文介绍一个最简单的使用方法。
1 在resources目录下创建assembly.xml
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd"> <!-- TODO: a jarjar format would be better --> <id>yusys</id><formats> <format>jar</format></formats> <includeBaseDirectory>false</includeBaseDirectory><fileSets><fileSet><directory>${project.build.directory}/classes</directory><outputDirectory>/</outputDirectory><excludes><exclude>*.xml</exclude><exclude>*.properties</exclude></excludes></fileSet></fileSets> <dependencySets><dependencySet> <outputDirectory>/</outputDirectory> <useProjectArtifact>false</useProjectArtifact> <unpack>true</unpack> <scope>runtime</scope> </dependencySet> </dependencySets>
</assembly>
2 修改pom.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.公司名称</groupId><artifactId>项目名称</artifactId><version>版本号</version><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><mainClass>你的主类</mainClass></properties><build><resources><resource><directory>src/main/resources</directory></resource></resources><plugins><plugin><!-- 指定maven编译的jdk版本,如果不指定,maven3默认用jdk 1.5 maven2默认用jdk1.3 --><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.2</version><configuration><!-- 一般而言,target与source是保持一致的,但是,有时候为了让程序能在其他版本的jdk中运行(对于低版本目标jdk,源代码中不能使用低版本jdk中不支持的语法),会存在target不同于source的情况 --><source>1.8</source> <!-- 源代码使用的JDK版本 --><target>1.8</target> <!-- 需要生成的目标class文件的编译版本 --><encoding>UTF-8</encoding><!-- 字符集编码 --></configuration></plugin><plugin><!-- 加载打包插件--><groupId>org.apache.maven.plugins</groupId><artifactId>maven-assembly-plugin</artifactId><configuration><!-- 指定配置文件 --><descriptors><descriptor>src/main/resources/assembly.xml</descriptor></descriptors><archive><manifest><mainClass>${mainClass}</mainClass></manifest></archive></configuration><executions><!-- 配置执行器 --><execution><id>make-assembly</id><!-- 绑定到package生命周期阶段上 --><phase>package</phase><goals><!-- 只运行一次 --><goal>single</goal></goals></execution></executions></plugin><plugin><!-- 配置跳过单元测试 --><groupId>org.apache.maven.plugins</groupId><artifactId>maven-surefire-plugin</artifactId><version>2.12</version><configuration><skip>true</skip><forkMode>once</forkMode><excludes><exclude>**/**</exclude></excludes></configuration></plugin></plugins></build></project>
3 更新maven引入
pom.xml修改完成后,idea会在右下角弹出窗口,此时单击“import Changes”即可。
4 开始打包maven项目
4.1 清空target文件
注意:
如果pom.xml中没有加入maven-compiler-plugin插件并指定maven编译的jdk版本,每次执行clean命令后,项目都会自动变成maven3默认用的jdk1.5或maven2默认用的jdk1.3。
4.2 重新编译项目
4.3 打成jar包
4.4 打包完成后可到target目录下找到jar包
使用assembly插件打包maven项目相关推荐
- 利用assembly.xml打包maven项目报错
问题现象 使用以下assembly.xml打包时报Failed to execute goal org.apache.maven.plugins:maven-assembly-plugin:2.2.1 ...
- maven使用assembly插件打包,剥离配置文件,加入可执行的脚本用来启动应用
通过使用maven的assembly插件,可以按照我们自定义的要求生成包,比如将配置文件剥离到独立的目录中,加入sh,bat脚本以便在Linux或Windows上通过执行脚本来启动项目. 首先,在项目 ...
- Web实战——assembly插件打包部署dubbo服务
文章目录 assembly插件打包部署dubbo服务 配置assembly 打包项目 部署项目 assembly插件打包部署dubbo服务 环境:IDEA.maven 配置assembly 解压ass ...
- 【jenkins打包maven项目报错记录】
jenkins打包maven项目报错记录 [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3 ...
- IDEA打包Maven项目
一.第一次需要在IntelliJ IDEA中打包Maven项目,弄了半天,才搞好,记录一下. 二.打包步骤 1. 在IntelliJ IDEA主界面的右侧点击Maven Project: 2. 在打开 ...
- Java技术--maven的assembly插件打包(依赖包归档)
注:最近工作中遇到的一个问题,写了一个日志处理的模块,现在需要给第三方客户使用,但是该模块依赖了我们自己写的或者修改的一些jar包,可选择方案:1.所有jar包放在一个文件夹中给第三方(感觉好不专业) ...
- java工程打成jar包 - 使用maven assembly插件打包及手动打包
在java工程打包的过程中遇到过不少问题,现在总结一下.一种是典型的maven工程打包,依赖的jar包全都在pom.xml中指定,这种方式打包很方便:另一种是依赖了本机jar包(不能通过pom.xml ...
- Spring Boot 使用 Maven assembly 插件打包
文章目录 1 摘要 2 Maven 核心依赖与配置 2.1 pom.xml 配置 2.2 assembly 配置信息 3 启动与停止脚本 3.1 启动脚本 3.2 停止脚本 4 推荐参考资料 5 Gi ...
- java assembly_Java技术--maven的assembly插件打包(依赖包归档)
注:最近工作中遇到的一个问题,写了一个日志处理的模块,现在需要给第三方客户使用,但是该模块依赖了我们自己写的或者修改的一些jar包,可选择方案:1.所有jar包放在一个文件夹中给第三方(感觉好不专业) ...
最新文章
- 项目源码分享之[条码扫描后台监控程序]
- 科研期刊分区 控制期刊介绍 领域大牛
- 在python中terminal中建立mysql数据库,无法再models.py 文件中建立数据库信息
- 为AI学术小白铺平道路,NeurIPS 2019推出New In ML2019特别会议
- spring配置详解-初始化销毁方法
- leetcode - 1039. 多边形三角剖分的最低得分
- php更改html内容,请问你们怎么将html的文件的内容改变为php
- excel生成趋势线和函数关系式
- 三菱GXWorks2 程序写入CPU/从CPU读取程序
- linux字体文件路径,Linux下安装字体
- [spring源码学习]一、IOC简介
- 随机森林(Random Forest)
- 20个优秀手机界面扁平化设计,让你一秒看懂扁平化
- BZOJ3527 力
- springboot框架下利用websocket实现即时通讯
- java程序设计案例教程答案,2年以上经验必看
- 挑灯夜读——MySQL多版本控制
- 1992-2022年31省GDP、第一产业增加值、第二产业增加值 第三产业增加值
- Python对剪切板的写入或读取(超级简单版)
- 基于 Scrapy-Redis 全国房源信息抓取系统
热门文章
- 2023计算机毕业设计SSM最新选题之java光明小区物业管理系统wjomh
- CUDA专业小贴士:通过 Warp-聚合的原子操作来优化过滤
- 学计算机要求学化学吗,学化学的人有前途吗?
- 结婚的80后 VS 飘着的70后
- Python爬虫抓取股票信息
- 运用正则爬取猫眼电影流程
- 如何通过chrome来找到猫眼电影评论url
- CSR8675学习笔记:I2C Master通信
- Unable to load authentication plugin ‘caching_sha2_password‘
- 深度学习数学基础-概率与信息论