springboot結合maven打包發佈

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

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

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

 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>

上面的配置咱們須要注意如下幾個節點:springboot

  • 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成功啓動:app

在規範的項目中,通常有dev,test,uat,pro等環境,針對這些個環境須要有不一樣的配置,springboot中能夠經過application-dev|test|...yml來區分不一樣的配置,僅僅須要在默認的application.yml中加入spring.profiles.active=dev|test...就好了;maven

這種方式有個不便的地方,好比本地調試或發佈上線都須要來回修改active的值(固然經過jar啓動時,設置命令行active參數也能夠),不是很方便;下面採用在pom中配置profiles,而後經過在idea界面上鼠標點擊選擇啓動所用的配置;首先,在main層建立配置文件目錄以下結構:ide

爲了區分測試,這裏對不一樣環境配置文件設置了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模塊能看到這樣的圖面:

這個時候僅僅只須要咱們勾選這些個按鈕就好了,無論是調試仍是最後打包,都按照這個來獲取所需的配置文件。

相關文章
相關標籤/搜索