1.在pom增加插件

 <build><plugins><!--使用maven-jar-plugin将指定包目录打成单独的jar包 --><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-jar-plugin</artifactId><configuration><excludes><exclude>*.properties</exclude></excludes></configuration></plugin><!-- maven 编译插件 maven打包时需要 --><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><configuration><!-- 在构建路径中 指定编译的字符编码 --><encoding>${project.build.sourceEncoding}</encoding></configuration></plugin><!--资源文件拷贝的插件  --><!-- 该插件的作用 主要是处理将 主程序与 运行程序所需的源文件复制到输出编译文件夹中。 --><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-resources-plugin</artifactId><configuration><!-- 在构建路径中 指定源文件编译的字符编码 --><encoding>${project.build.sourceEncoding}</encoding></configuration></plugin><plugin><artifactId>maven-assembly-plugin</artifactId><configuration><!-- 使用assembly打包后的名字如 service-provider-1.0-SNAPSHOT-release.zip使用ctrl加左键 点进去看${project.artifactId}-${project.version}${project.artifactId}是当前项目的artifactId和version组合的(service-provider-1.0-SNAPSHOT)加上下面executions的execution的id--><finalName>${project.build.finalName}</finalName></configuration><executions>  <!--执行器 mvn assembly:assembly--><execution><id>release</id><!--名字任意 --><phase>package</phase><!-- 绑定到package生命周期阶段上 --><goals><goal>single</goal><!-- 只运行一次 --></goals><configuration><descriptors> <!--描述文件路径--><descriptor>src/main/resources/run/assembly.xml</descriptor></descriptors></configuration></execution></executions></plugin></plugins></build>

2.增加描述文件(这个文件要和pom插件中指定的描述文件路径一致)
assembly.xml

<?xml version="1.0" encoding="UTF-8"?>
<assemblyxmlns="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.0http://maven.apache.org/xsd/assembly-1.1.0.xsd"><id>release</id><formats><format>zip</format></formats><fileSets><fileSet><directory>src/main/resources</directory><!-- 过滤 --><includes><include>*.properties</include></includes><outputDirectory>/</outputDirectory></fileSet><fileSet><directory>src/main/resources/run</directory><outputDirectory>/</outputDirectory><includes><include>*.sh</include><include>*.bat</include></includes></fileSet></fileSets><dependencySets><!-- 将scope为runtime的依赖包打包到lib目录下。 --><dependencySet><useProjectArtifact>true</useProjectArtifact><outputDirectory>libs</outputDirectory><scope>runtime</scope></dependencySet></dependencySets></assembly>

3.增加startup.bat

@echo off
setLocal enableDelayedExpansion
set cp=.
FOR %%i IN ("%~dp0libs\*.jar") DO set cp=!cp!;%%~fsi
start "quotation_front" java -server -cp %cp% Shell

4.增加startup.sh (com.lagou.ProviderApplication这个为main方法的全路径)

#!/bin/sh
baseDir=$(cd "$(dirname "$0")"; pwd)
cp=.
for file in $baseDir/libs/*.jar
docp=$cp:$file
done
java -server -Xmx2048m -Xss256k -cp $cp  com.lagou.ProviderApplication >> $baseDir/stdout.out 2>&1 &

最后执行maven打包install,找到打包后文件解压上传到linux服务器直接执行startup.sh就可以了

使用assembly打包相关推荐

  1. java assembly 打包_maven 使用assembly 进行打包的方法

    1. pom 中添加assembly 插件 要使用assembly 进项编译打包, 首先主要在pom 中的build中添加插件信息, 具体如图下所示: ${project.artifactId} sr ...

  2. 使用 assembly 打包报错

    使用 assembly 打包报错 The following patterns were never triggered in this artifact inclusion filter: o '* ...

  3. maven assembly打包zip报错 You must set at least one file.

    文章目录 maven assembly打包Error creating assembly archive pack: You must set at least one file. maven ass ...

  4. assembly打包

    assembly打包 1 springboot项目 -> 子项目assembly assembly子项目是微服务中的子项目,专门用来打包的 1.1 springboot项目 -> 子项目a ...

  5. Maven assembly打包文件被覆盖问题

    Maven的assembly插件使用: 最近在做一个小工程,利用java启动运行. 为了简单方便使用运行,利用maven的assembly将需要使用的jar都打包到一个jar中.这样无论拷贝到哪里,只 ...

  6. springboot项目assembly打包配置

    项目的目录结构如图: 下面是主要的配置文件内容: assembly.xml <?xml version="1.0" encoding="UTF-8"?&g ...

  7. idea 中maven assembly 打包项目

    使用assembly插件来打包项目: 1>在pom.xml中配置assembly插件 <properties><project.build.sourceEncoding> ...

  8. maven assembly打包插件详解

    定义 来自官方的定义: Maven Assembly Plugin relies on the provided assembly descriptors to dictate its executi ...

  9. java assembly 打包_使用Maven的assembly插件实现自定义打包

    一.背景 最近我们项目越来越多了,然后我就在想如何才能把基础服务的打包方式统一起来,并且可以实现按照我们的要求来生成,通过研究,我们通过使用maven的assembly插件完美的实现了该需求,爽爆了有 ...

最新文章

  1. 渗透测试靶机搭建_对vulnhub中Android4靶机渗透测试全过程!
  2. 【图像处理】——Python实现图像加噪(随机噪声、椒盐噪声、高斯噪声等)
  3. CS144 lab4 计算机网络实验 笔记
  4. java this() super()_java中的this和super
  5. tomcat启动(五)Catalina分析-service.init
  6. MySQL深度剖析之数据在磁盘上存储(2021)
  7. 超级楼梯[HDU2041]
  8. 解决VScode安装Babel转码器报错:无法将“cnpm“项识别为cmdlet\函数、脚本文件或可运行程序的名称的问题
  9. 开源 免费 java CMS - FreeCMS1.5 标签 ajaxStore
  10. asp.net mvc 发布问题
  11. esayexcel导出动态表头数据
  12. 词语相似度分析(《知网》、同义词词林、word2vec)
  13. 计算机网络管理公开课观后感,青年网络公开课的观后感
  14. 产品读书《科技想要什么》KK
  15. 企业私有云资源规划及设计
  16. Lucas-Kanade稀疏光流法
  17. Orcle 12c Sharding---Sharded和Duplicated表介绍
  18. HEVC视频编码技术概述
  19. Mashup,互联网一个方向。
  20. 电子工程可以报考二建_我是电子信息工程专业,可以报考二级建造师吗?要..._二建考试_帮考网...

热门文章

  1. Linux系统修改 Linux 系统日志打印级别
  2. 【干货】最好的天线基础知识,方便查询,超实用!
  3. C语言,进制转换之八进制转二进制,完整代码
  4. EEMD(Ensemble Empirical Mode Decomposition)集合经验模式分解代码
  5. Java的日期与时间java.time.Duration的简介说明
  6. 深度学习(一)——placeholder的使用
  7. 运兴ETF期权教学之期权对我们的用途
  8. 基于HHT和RBF神经网络的故障检测——第二篇论文读后感
  9. 最小生成树 Kruskal算法
  10. 存储设备唯一标识(浏览器指纹库)