使用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项目相关推荐

  1. 利用assembly.xml打包maven项目报错

    问题现象 使用以下assembly.xml打包时报Failed to execute goal org.apache.maven.plugins:maven-assembly-plugin:2.2.1 ...

  2. maven使用assembly插件打包,剥离配置文件,加入可执行的脚本用来启动应用

    通过使用maven的assembly插件,可以按照我们自定义的要求生成包,比如将配置文件剥离到独立的目录中,加入sh,bat脚本以便在Linux或Windows上通过执行脚本来启动项目. 首先,在项目 ...

  3. Web实战——assembly插件打包部署dubbo服务

    文章目录 assembly插件打包部署dubbo服务 配置assembly 打包项目 部署项目 assembly插件打包部署dubbo服务 环境:IDEA.maven 配置assembly 解压ass ...

  4. 【jenkins打包maven项目报错记录】

    jenkins打包maven项目报错记录 [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3 ...

  5. IDEA打包Maven项目

    一.第一次需要在IntelliJ IDEA中打包Maven项目,弄了半天,才搞好,记录一下. 二.打包步骤 1. 在IntelliJ IDEA主界面的右侧点击Maven Project: 2. 在打开 ...

  6. Java技术--maven的assembly插件打包(依赖包归档)

    注:最近工作中遇到的一个问题,写了一个日志处理的模块,现在需要给第三方客户使用,但是该模块依赖了我们自己写的或者修改的一些jar包,可选择方案:1.所有jar包放在一个文件夹中给第三方(感觉好不专业) ...

  7. java工程打成jar包 - 使用maven assembly插件打包及手动打包

    在java工程打包的过程中遇到过不少问题,现在总结一下.一种是典型的maven工程打包,依赖的jar包全都在pom.xml中指定,这种方式打包很方便:另一种是依赖了本机jar包(不能通过pom.xml ...

  8. Spring Boot 使用 Maven assembly 插件打包

    文章目录 1 摘要 2 Maven 核心依赖与配置 2.1 pom.xml 配置 2.2 assembly 配置信息 3 启动与停止脚本 3.1 启动脚本 3.2 停止脚本 4 推荐参考资料 5 Gi ...

  9. java assembly_Java技术--maven的assembly插件打包(依赖包归档)

    注:最近工作中遇到的一个问题,写了一个日志处理的模块,现在需要给第三方客户使用,但是该模块依赖了我们自己写的或者修改的一些jar包,可选择方案:1.所有jar包放在一个文件夹中给第三方(感觉好不专业) ...

最新文章

  1. 项目源码分享之[条码扫描后台监控程序]
  2. 科研期刊分区 控制期刊介绍 领域大牛
  3. 在python中terminal中建立mysql数据库,无法再models.py 文件中建立数据库信息
  4. 为AI学术小白铺平道路,NeurIPS 2019推出New In ML2019特别会议
  5. spring配置详解-初始化销毁方法
  6. leetcode - 1039. 多边形三角剖分的最低得分
  7. php更改html内容,请问你们怎么将html的文件的内容改变为php
  8. excel生成趋势线和函数关系式
  9. 三菱GXWorks2 程序写入CPU/从CPU读取程序
  10. linux字体文件路径,Linux下安装字体
  11. [spring源码学习]一、IOC简介
  12. 随机森林(Random Forest)
  13. 20个优秀手机界面扁平化设计,让你一秒看懂扁平化
  14. BZOJ3527 力
  15. springboot框架下利用websocket实现即时通讯
  16. java程序设计案例教程答案,2年以上经验必看
  17. 挑灯夜读——MySQL多版本控制
  18. 1992-2022年31省GDP、第一产业增加值、第二产业增加值 第三产业增加值
  19. Python对剪切板的写入或读取(超级简单版)
  20. 基于 Scrapy-Redis 全国房源信息抓取系统

热门文章

  1. 2023计算机毕业设计SSM最新选题之java光明小区物业管理系统wjomh
  2. CUDA专业小贴士:通过 Warp-聚合的原子操作来优化过滤
  3. 学计算机要求学化学吗,学化学的人有前途吗?
  4. 结婚的80后 VS 飘着的70后
  5. Python爬虫抓取股票信息
  6. 运用正则爬取猫眼电影流程
  7. 如何通过chrome来找到猫眼电影评论url
  8. CSR8675学习笔记:I2C Master通信
  9. Unable to load authentication plugin ‘caching_sha2_password‘
  10. 深度学习数学基础-概率与信息论