目的
將jar包惧磺、sh安裝文件和sql腳本文件一起壓縮成zip包,可直接上傳linux部署
多環(huán)境配置
測試環(huán)境和生成環(huán)境配置蓬坡,配置文件:pom.xml
<profiles>
<profile>
<!-- 唯一標識:test===測試環(huán)境 -->
<id>test</id>
<!-- 屬性配置-自定義 -->
<properties>
<!-- 傳遞給腳本的參數(shù)-標簽名自定義微驶,作為取值的變量名 -->
<activeProfile>test</activeProfile>
</properties>
<activation>
<!-- 指定默認配置文件 -->
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<profile>
<!-- 唯一標識 -->
<id>prod</id>
<!-- 屬性配置-自定義 -->
<properties>
<!-- 傳遞給腳本的參數(shù)-標簽名自定義腮鞍,作為取值的變量名 -->
<activeProfile>prod</activeProfile>
</properties>
</profile>
</profiles>
Assembly打包配置
maven-assembly-plugin
maven插件配置,配置文件:pom.xml
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.4</version>
<configuration>
<descriptors>
<!-- assembly.xml配置文件路徑 -->
<descriptor>
${project.basedir}/src/main/resources/assembly/assembly.xml
</descriptor>
</descriptors>
<finalName>${artifactId}</finalName>
</configuration>
<executions>
<execution> <!-- 執(zhí)行器 mvn assembly:assembly -->
<id>make-assembly</id> <!-- 名字任意 -->
<phase>package</phase> <!-- 綁定到package生命周期 -->
<goals>
<goal>single</goal> <!-- 該打包任務只運行一次 -->
</goals>
</execution>
</executions>
</plugin>
assembly.xml文件配置
<assembly xmlns="http://maven.apache.org/ASSEMBLY/2.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/ASSEMBLY/2.0.0 http://maven.apache.org/xsd/assembly-2.0.0.xsd
http://maven.apache.org/ASSEMBLY/2.0.0 ">
<id>${project.version}</id>
<!--打包成一個用于發(fā)布的zip文件-->
<formats>
<format>zip</format>
</formats>
<!--true:zip中生成一級目錄(此處屏蔽道盏,配合腳本需要profiles后綴)-->
<includeBaseDirectory>true</includeBaseDirectory>
<baseDirectory>${project.artifactId}-${project.version}</baseDirectory>
<fileSets>
<!-- 配置文件打包進zip文件的conf目錄 -->
<fileSet>
<directory>${project.basedir}/src/main/resources</directory>
<outputDirectory>conf</outputDirectory>
<includes>
<!-- <include>**/*</include> -->
<!-- 配置文件名稱而柑,如application-test.yml -->
<include>*-${activeProfile}.yml</include>
</includes>
</fileSet>
<!--啟動腳本打包進zip文件-->
<fileSet>
<directory>${project.basedir}/sh</directory>
<outputDirectory></outputDirectory>
<includes>
<include>**/*</include>
</includes>
<!-- 文件文件權限為777 -->
<fileMode>777</fileMode>
<!-- 目錄權限為777 -->
<directoryMode>777</directoryMode>
<!--腳本中參數(shù)變量為pom中的值關鍵-->
<filtered>true</filtered>
</fileSet>
<!-- 項目編譯出來的jar打包進zip文件 -->
<fileSet>
<directory>${project.build.directory}</directory>
<outputDirectory></outputDirectory>
<includes>
<include>*.jar</include>
</includes>
</fileSet>
</fileSets>
</assembly>