這篇文章將為大家詳細(xì)講解有關(guān)Springboot基于assembly服務(wù)化實現(xiàn)打包的詳細(xì)教程,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
成都創(chuàng)新互聯(lián)公司專注于企業(yè)營銷型網(wǎng)站建設(shè)、網(wǎng)站重做改版、滑縣網(wǎng)站定制設(shè)計、自適應(yīng)品牌網(wǎng)站建設(shè)、H5網(wǎng)站設(shè)計、商城網(wǎng)站建設(shè)、集團公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計等建站業(yè)務(wù),價格優(yōu)惠性價比高,為滑縣等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。
(1)首先我們編輯 assembly.xml 配置文件,在前文的基礎(chǔ)上新增第三方依賴設(shè)置(高亮部分),實現(xiàn)將第三方的 jar 包添加到壓縮包里的 lib 目錄:
<?xml version="1.0" encoding="UTF-8"?>
<assembly>
<!--
必須寫,否則打包時會有 assembly ID must be present and non-empty 錯誤
這個名字最終會追加到打包的名字的末尾,如項目的名字為 hangge-test-0.0.1-SNAPSHOT,
則最終生成的包名為 hangge-test-0.0.1-SNAPSHOT-bin.tar.gz
-->
<id>bin</id>
<!-- 打包的類型,如果有N個,將會打N個類型的包 -->
<formats>
<!-- <format>tar.gz</format>-->
<format>zip</format>
</formats>
<includeBaseDirectory>true</includeBaseDirectory>
<!--第三方依賴設(shè)置-->
<dependencySets>
<dependencySet>
<!-- 不使用項目的artifact,第三方j(luò)ar不要解壓,打包進zip文件的lib目錄 -->
<useProjectArtifact>false</useProjectArtifact>
<outputDirectory>lib</outputDirectory>
<unpack>false</unpack>
</dependencySet>
</dependencySets>
<!--文件設(shè)置-->
<fileSets>
<!--
0755->即用戶具有讀/寫/執(zhí)行權(quán)限,組用戶和其它用戶具有讀寫權(quán)限;
0644->即用戶具有讀寫權(quán)限,組用戶和其它用戶具有只讀權(quán)限;
-->
<!-- 將src/main/assembly/bin目錄下的所有文件輸出到打包后的bin目錄中 -->
<fileSet>
<directory>src/main/assembly/bin</directory>
<outputDirectory>bin</outputDirectory>
<fileMode>0755</fileMode>
<!--如果是腳本,一定要改為unix.如果是在windows上面編碼,會出現(xiàn)dos編寫問題-->
<lineEnding>unix</lineEnding>
<filtered>true</filtered><!-- 是否進行屬性替換 -->
</fileSet>
<!-- 將src/main/assembly/config目錄下的所有文件輸出到打包后的config目錄中 -->
<fileSet>
<directory>src/main/assembly/config</directory>
<outputDirectory>config</outputDirectory>
<fileMode>0644</fileMode>
</fileSet>
<!-- 將src/main/resources下配置文件打包到config目錄 -->
<fileSet>
<directory>src/main/resources</directory>
<outputDirectory>./config</outputDirectory>
<includes>
<include>**/*.xml</include>
<include>**/*.properties</include>
<include>**/*.yml</include>
</includes>
<filtered>true</filtered><!-- 是否進行屬性替換 -->
</fileSet>
<!-- 將項目啟動jar打包到lib目錄中 -->
<fileSet>
<directory>target</directory>
<outputDirectory>./</outputDirectory>
<includes>
<include>*.jar</include>
</includes>
</fileSet>
<!-- 將項目說明文檔打包到docs目錄中 -->
<!-- <fileSet>
<directory>.</directory>
<outputDirectory>./docs</outputDirectory>
<includes>
<include>*.md</include>
</includes>
<fileMode>0644</fileMode>
</fileSet>-->
<fileSet>
<directory>docs</directory>
<outputDirectory>./docs</outputDirectory>
<fileMode>0644</fileMode>
</fileSet>
<fileSet>
<directory>src/main/assembly/docs</directory>
<outputDirectory>./docs</outputDirectory>
<fileMode>0644</fileMode>
</fileSet>
</fileSets>
</assembly>(2)接著編輯項目的 pom.xml 文件,先前使用的是 spring-boot-maven-plugin 來打包,這個插件會將項目所有的依賴打入項目 jar 包里面。我們將其替換為 maven-jar-plugin,并進行相關(guān)設(shè)置
<build>
<plugins>
<!-- 指定啟動類,將依賴打成外部jar包 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<!-- 生成的jar中,不要包含pom.xml和pom.properties這兩個文件 -->
<addMavenDescriptor>false</addMavenDescriptor>
<manifest>
<!-- 是否要把第三方j(luò)ar加入到類構(gòu)建路徑 -->
<addClasspath>true</addClasspath>
<!-- 外部依賴jar包的最終位置 -->
<!-- 因為我們將第三方j(luò)ar和本項目jar放在同一個目錄下,這里就使用./ -->
<classpathPrefix>./lib</classpathPrefix>
<!-- 項目啟動類 -->
<mainClass>com.yuehang.disneyland.DisneylandApplication</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
<plugin>
<!--主要使用的是maven提供的assembly插件完成-->
<artifactId>maven-assembly-plugin</artifactId>
<version>3.1.1</version>
<configuration>
<descriptors>
<!--具體的配置文件-->
<descriptor>src/main/assembly/assembly.xml</descriptor>
</descriptors>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<!--綁定到maven操作類型上-->
<phase>package</phase>
<!--運行一次-->
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>然后打包出來的結(jié)構(gòu)

運行就ok了
關(guān)于Springboot基于assembly服務(wù)化實現(xiàn)打包的詳細(xì)教程就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
網(wǎng)站題目:Springboot基于assembly服務(wù)化實現(xiàn)打包的詳細(xì)教程
本文鏈接:http://www.chinadenli.net/article32/iiigpc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站策劃、面包屑導(dǎo)航、小程序開發(fā)、Google、動態(tài)網(wǎng)站、網(wǎng)頁設(shè)計公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)