maven 分离式打包

2024-05-10 17:52
文章标签 maven 打包 分离式

本文主要是介绍maven 分离式打包,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

pom中插件配置:

<!-- Maven Jar 插件配置 -->
<plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-jar-plugin</artifactId><configuration><archive><!-- 将类路径添加到 MANIFEST.MF 文件中 --><manifest><addClasspath>true</addClasspath><!-- 指定类路径前缀 --><classpathPrefix>lib/</classpathPrefix><!-- 指定程序的主类 --><mainClass>io.metersphere.Application</mainClass></manifest><!-- 在 MANIFEST.MF 中添加自定义条目 --><manifestEntries><!-- 添加资源文件的路径,这个必须要配置好,不然程序运行时候找不到资源文件的位置 --><Class-Path>conf/</Class-Path></manifestEntries></archive><!-- 包含的文件规则 --><includes><!-- 包含 io 包下的所有文件 --><include>io/**</include><!-- 包含 META-INF 目录下的所有文件 --><include>META-INF/**</include></includes></configuration>
</plugin><!-- Maven Assembly 插件配置 -->
<plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-assembly-plugin</artifactId><executions><execution><id>bin</id><phase>package</phase><goals><goal>single</goal></goals><configuration><!-- 指定装配描述符文件 --><descriptors><descriptor>../assemblies/bin.xml</descriptor></descriptors></configuration></execution></executions>
</plugin>

具体设置装配文件:

<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.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd"><!-- id 标识符,添加到生成文件名称的后缀符。如果指定 id 的话(这里指定的是项目的版本),目标文件则是 ${artifactId}-${id}.jar。【如terminal-dispatch-5.0.0.0.jar】 --><id>bin</id><!-- 指定打包格式。maven-assembly-plugin插件支持的打包格式有zip、tar、tar.gz (or tgz)、tar.bz2 (or tbz2)、jar、dir、war,可以同时指定多个打包格式 --><formats><format>tar.gz</format></formats><!-- 指定打的包是否包含打包层目录(比如finalName是terminal-dispatch,当值为true,所有文件被放在包内的terminal-dispatch目录下,否则直接放在包的根目录下)--><includeBaseDirectory>false</includeBaseDirectory><baseDirectory>devops-${project.version}</baseDirectory><dependencySets><dependencySet><!--不使用项目的artifact,第三方jar不要解压,打包进zip文件的lib目录--><useProjectArtifact>false</useProjectArtifact><outputDirectory>lib</outputDirectory><unpack>false</unpack></dependencySet></dependencySets><!--	用来处理文件集合将其按照指定的方式输出--><fileSets combine.children="append"><fileSet><directory>src/main/resources/bin</directory><outputDirectory>bin</outputDirectory><fileMode>0755</fileMode></fileSet><fileSet><directory>../../</directory><outputDirectory>conf</outputDirectory><fileMode>0755</fileMode><includes><include>Dockerfile</include><include>Jenkinsfile</include><include>LICENSE</include><include>lombok.config</include><include>mvnw</include><include>mvnw.cmd</include><include>OWNERS</include></includes></fileSet><fileSet><directory>src/main/resources</directory><outputDirectory>conf</outputDirectory><fileMode>0755</fileMode></fileSet><fileSet><directory>../framework/sdk/src/main/resources</directory><outputDirectory>conf</outputDirectory><fileMode>0755</fileMode></fileSet><fileSet><directory>../services/api-test/src/main/resources</directory><outputDirectory>conf</outputDirectory><fileMode>0755</fileMode></fileSet><fileSet><directory>../services/bug-management/src/main/resources</directory><outputDirectory>conf</outputDirectory><fileMode>0755</fileMode></fileSet><fileSet><directory>../services/case-management/src/main/resources</directory><outputDirectory>conf</outputDirectory><fileMode>0755</fileMode></fileSet><fileSet><directory>../services/load-test/src/main/resources</directory><outputDirectory>conf</outputDirectory><fileMode>0755</fileMode></fileSet><fileSet><directory>../services/project-management/src/main/resources</directory><outputDirectory>conf</outputDirectory><fileMode>0755</fileMode></fileSet><fileSet><directory>../services/system-setting/src/main/resources</directory><outputDirectory>conf</outputDirectory><fileMode>0755</fileMode></fileSet><fileSet><directory>../services/test-plan/src/main/resources</directory><outputDirectory>conf</outputDirectory><fileMode>0755</fileMode></fileSet><fileSet><directory>../services/ui-test/src/main/resources</directory><outputDirectory>conf</outputDirectory><fileMode>0755</fileMode></fileSet><fileSet><directory>../../</directory><outputDirectory>doc</outputDirectory><fileMode>0755</fileMode><includes><include>*.md</include></includes></fileSet><fileSet><directory>../framework/domain/src/main/resources</directory><outputDirectory>script</outputDirectory><fileMode>0755</fileMode></fileSet><fileSet><directory>src/main/resources</directory><outputDirectory>logs</outputDirectory><excludes><exclude>**/*</exclude></excludes><fileMode>0755</fileMode></fileSet><fileSet><directory>src/main/resources</directory><outputDirectory>plugins</outputDirectory><excludes><exclude>**/*</exclude></excludes><fileMode>0755</fileMode></fileSet></fileSets><files><file><source>target/app-${revision}.jar</source><!-- 可以是相对路径或绝对路径,相对路径是相对与项目的根目录。--><outputDirectory>./</outputDirectory> <!-- 输出目录--><fileMode>0644</fileMode> <!--unix文件权限--></file></files></assembly>

这篇关于maven 分离式打包的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/977137

相关文章

idea maven编译报错Java heap space的解决方法

《ideamaven编译报错Javaheapspace的解决方法》这篇文章主要为大家详细介绍了ideamaven编译报错Javaheapspace的相关解决方法,文中的示例代码讲解详细,感兴趣的... 目录1.增加 Maven 编译的堆内存2. 增加 IntelliJ IDEA 的堆内存3. 优化 Mave

一文教你如何将maven项目转成web项目

《一文教你如何将maven项目转成web项目》在软件开发过程中,有时我们需要将一个普通的Maven项目转换为Web项目,以便能够部署到Web容器中运行,本文将详细介绍如何通过简单的步骤完成这一转换过程... 目录准备工作步骤一:修改​​pom.XML​​1.1 添加​​packaging​​标签1.2 添加

Flutter打包APK的几种方式小结

《Flutter打包APK的几种方式小结》Flutter打包不同于RN,Flutter可以在AndroidStudio里编写Flutter代码并最终打包为APK,本篇主要阐述涉及到的几种打包方式,通... 目录前言1. android原生打包APK方式2. Flutter通过原生工程打包方式3. Futte

Maven pom.xml文件中build,plugin标签的使用小结

《Mavenpom.xml文件中build,plugin标签的使用小结》本文主要介绍了Mavenpom.xml文件中build,plugin标签的使用小结,文中通过示例代码介绍的非常详细,对大家的学... 目录<build> 标签Plugins插件<build> 标签<build> 标签是 pom.XML

IDEA与JDK、Maven安装配置完整步骤解析

《IDEA与JDK、Maven安装配置完整步骤解析》:本文主要介绍如何安装和配置IDE(IntelliJIDEA),包括IDE的安装步骤、JDK的下载与配置、Maven的安装与配置,以及如何在I... 目录1. IDE安装步骤2.配置操作步骤3. JDK配置下载JDK配置JDK环境变量4. Maven配置下

linux打包解压命令方式

《linux打包解压命令方式》文章介绍了Linux系统中常用的打包和解压命令,包括tar和zip,使用tar命令可以创建和解压tar格式的归档文件,使用zip命令可以创建和解压zip格式的压缩文件,每... 目录Lijavascriptnux 打包和解压命令打包命令解压命令总结linux 打包和解压命令打

将java程序打包成可执行文件的实现方式

《将java程序打包成可执行文件的实现方式》本文介绍了将Java程序打包成可执行文件的三种方法:手动打包(将编译后的代码及JRE运行环境一起打包),使用第三方打包工具(如Launch4j)和JDK自带... 目录1.问题提出2.如何将Java程序打包成可执行文件2.1将编译后的代码及jre运行环境一起打包2

配置springboot项目动静分离打包分离lib方式

《配置springboot项目动静分离打包分离lib方式》本文介绍了如何将SpringBoot工程中的静态资源和配置文件分离出来,以减少jar包大小,方便修改配置文件,通过在jar包同级目录创建co... 目录前言1、分离配置文件原理2、pom文件配置3、使用package命令打包4、总结前言默认情况下,

CentOS系统Maven安装教程分享

《CentOS系统Maven安装教程分享》本文介绍了如何在CentOS系统中安装Maven,并提供了一个简单的实际应用案例,安装Maven需要先安装Java和设置环境变量,Maven可以自动管理项目的... 目录准备工作下载并安装Maven常见问题及解决方法实际应用案例总结Maven是一个流行的项目管理工具

使用maven依赖详解

《使用maven依赖详解》本文主要介绍了Maven的基础知识,包括Maven的简介、仓库类型、常用命令、场景举例、指令总结、依赖范围、settings.xml说明等,同时,还详细讲解了Maven依赖的... 目录1. maven基础1.1 简介1.2 仓库类型1.3 常用命令1.4 场景举例1.5 指令总结