springboot結合maven打包發布


本篇分享如何使用maven便利我們打springboot的發布包;我這里使用的是idea開發工具,首先創建了多個module的項目結構,如圖:

要對多個module的項目做打包,一般情況都是在父級pom中配置打包的插件,其他module的pom不需要特別的配置,當配置完成后,點擊idea中maven工具的package,就能執行一系列打包操作;

這里先使用maven-jar-plugin插件,在父級pom中添加配置如下:

 1 <!--通過maven-jar-plugin插件打jar包-->
 2 <plugin>
 3     <groupId>org.apache.maven.plugins</groupId>
 4     <artifactId>maven-jar-plugin</artifactId>
 5     <version>2.4</version>
 6     <configuration>
 7         <archive>
 8             <manifest>
 9                 <addClasspath>true</addClasspath>
10                 <classpathPrefix>lib/</classpathPrefix>
11                 <!--main入口-->
12                 <mainClass>com.platform.WebApplication</mainClass>
13             </manifest>
14         </archive>
15         <!--包含的配置文件-->
16         <includes>
17         </includes>
18         <excludes>
19         </excludes>
20     </configuration>
21 </plugin>

上面的配置我們需要注意以下幾個節點:

  • mainClass:我們需要指定main入口,當然這不是必須的,如果同一個project中有多個main入口,那打包的時候才需要,僅僅就一個main入口這個其實忽略;
  • classpathPrefix:指定加入classpath中依賴包所在的前綴文件夾名
  • addClasspath:依賴包放加入到classpath中,默認true
  • includes:需要包含在jar中的文件,一般不配置(注意:如果配置路徑不合適,可能會吧class排除掉)
  • excludes:如果是要做jar包外部配置文件的話,這里需要用excludes排除這些配置文件一起打包在jar中

使用maven-jar-plugin插件針對項目工程來打包,這個時候通過maven的package命令打包,能看到jar中有一個lib文件夾(默認),其中包含了工程項目中所引入的第三方依賴包,通過java -jar xxx.jar能看到jar成功啟動:

在規范的項目中,一般有dev,test,uat,pro等環境,針對這些個環境需要有不同的配置,springboot中可以通過application-dev|test|...yml來區分不同的配置,僅僅需要在默認的application.yml中加入spring.profiles.active=dev|test...就行了;

這種方式有個不便的地方,比如本地調試或發布上線都需要來回修改active的值(當然通過jar啟動時,設置命令行active參數也可以),不是很方便;下面采用在pom中配置profiles,然后通過在idea界面上鼠標點擊選擇啟動所用的配置;首先,在main層創建配置文件目錄如下結構:

為了區分測試,這里對不同環境配置文件設置了server.port來指定不同端口(dev:3082,pro:3182)
然后,在父級pom中配置如下profiles信息:

 1     <profiles>
 2         <profile>
 3             <id>dev</id>
 4             <!--默認運行配置-->
 5             <activation>
 6                 <activeByDefault>true</activeByDefault>
 7             </activation>
 8             <properties>
 9                 <activeProfile>dev</activeProfile>
10             </properties>
11         </profile>
12         <profile>
13             <id>test</id>
14             <properties>
15                 <activeProfile>test</activeProfile>
16             </properties>
17         </profile>
18         <profile>
19             <id>uat</id>
20             <properties>
21                 <activeProfile>uat</activeProfile>
22             </properties>
23         </profile>
24         <profile>
25             <id>pro</id>
26             <properties>
27                 <activeProfile>pro</activeProfile>
28             </properties>
29         </profile>
30     </profiles>

節點說明:

  • activeByDefault:設置為默認運行配置
  • activeProfile:所選擇的啟動配置,它的值對應上面創建profiles下面的dev|test|pro文件夾

然后,在pom中的build增加resources節點配置:

1 <resources>
2     <!--指定所使用的配置文件目錄-->
3     <resource>
4         <directory>src/main/profiles/${activeProfile}</directory>
5     </resource>
6 </resources>

此刻我們的配置就完成了,正常情況下idea上maven模塊能看到這樣的圖面:

這個時候僅僅只需要我們勾選這些個按鈕就行了,不管是調試還是最后打包,都按照這個來獲取所需的配置文件。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM