欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

springboot的war和jar包的使用詳解

 更新時間:2018年11月27日 10:04:42   作者:神牛003  
這篇文章主要介紹了springboot的war和jar包的使用詳解,非常不錯,具有一定的參考借鑒價值 ,需要的朋友可以參考下

本篇和大家分享的是通過maven對springboot中打war包和jar包;war通常來說生成后直接放到tomcat的webapps下面就行,tomcat配置自動解壓war,而jar一般通過命令行部署和啟動;

首先,來實戰(zhàn)怎么生成war包,主要來說可以分為3個步驟:

•程序入口改造
•排除springboot內(nèi)置tomcat
•spring-boot-maven-plugin插件中配置程序入口

程序入口改造,我們需要把springboot的main入口屏蔽掉,然后繼承SpringBootServletInitializer,并重寫configure方法,具體代碼如:

 @SpringBootApplication
 public class WebApplication extends SpringBootServletInitializer {
 @Override
 protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
  return application.sources(WebApplication.class);
 }
 // public static void main(String[] args){
 //
 // }
 }

排除springboot內(nèi)置tomcat,默認的情況下springboot是集成有內(nèi)置tomcat,因為war需要發(fā)在我們服務(wù)器上的tomcat中,內(nèi)置的tomcat不需要,可以如下在maven中配置屏蔽:

 <!--war包-排除內(nèi)置tomcat-->
 <dependency>
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-starter-tomcat</artifactId>
 <scope>provided</scope>
 </dependency>

這里通過scope作用域為provided來排除tomcat包,springboot框架中有包含tomcat包,scope默認的作用于是compile,編譯,測試,運行;

spring-boot-maven-plugin插件中配置程序入口,上面我們屏蔽了main入口,但是tomcat還是通過啟動類作為入口,因此需要配置下啟動mainClass:

<plugin>
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-maven-plugin</artifactId>
 <!--war包-執(zhí)行程序入口 -->
 <configuration>
  <mainClass>com.platform.WebApplication</mainClass>
 </configuration>
 </plugin>

最后,把入口項目的packaging指定成war類型

 <packaging>war</packaging>

如上我們準備工作就完成了,下面我們僅僅maven的package打包就行了,生成后如下截圖:

war包里面的內(nèi)容就是META-INF和WEB-INF部分,我們吧war上傳到linux上的tomcat的webapps下面,一般配置tomcat都會自動解壓war包,我這里之前寫了一個api接口,運行成功后正常在瀏覽器顯示:

再來,我們開始打jar包,步驟同樣和war差不多,不過是反向的去掉注釋的內(nèi)容:

•還原main入口(springboot模板生成的main,不做任何修改)
•去掉排除tomcat的配置(默認就不沒有這個配置)
•使用maven-jar-plugin插件打包,指定程序入口和各種包含|排除項

還原不注釋main入口,主要針對剛才打war注釋了main入口操作,一般采用springboot模板默認生成就行:

 public static void main(String[] args) throws ParseException, Exception {
 SpringApplication springApplication = new SpringApplication(WebApplication.class);
 springApplication.setBannerMode(Banner.Mode.OFF);
 springApplication.run(args);
 }

去掉排除tomcat的配置(默認就不沒有這個配置),同樣這一步也是針對打war添加了排除tomcat的配置,直接刪除就行,刪除:

 <!--<dependency>-->
 <!--<groupId>org.springframework.boot</groupId>-->
 <!--<artifactId>spring-boot-starter-tomcat</artifactId>-->
 <!--<scope>provided</scope>-->
 <!--</dependency>-->

使用maven-jar-plugin插件打包,指定程序入口和各種包含|排除項,這里通過jar插件配置一些項,對配置文件和main入口指定:

<!--打jar包-->
 <plugin>
 <groupId>org.apache.maven.plugins</groupId>
 <artifactId>maven-jar-plugin</artifactId>
 <version>.</version>
 <configuration>
  <archive>
  <manifest>
   <!--<addClasspath>true</addClasspath>-->
   <!--<classpathPrefix>lib/</classpathPrefix>-->
   <!--main入口-->
   <mainClass>com.platform.WebApplication</mainClass>
  </manifest>
  </archive>
  <!--包含的配置文件-->
  <!--<includes>-->
  <!--<include>*.yml</include>-->
  <!--<include>*.properties</include>-->
  <!--<include>templates/**</include>-->
  <!--<include>static/**</include>-->
  <!--<include>*.xml</include>-->
  <!--</includes>-->
 </configuration>
 </plugin>

最后,把入口項目的packaging指定成war類型:

 <packaging>jar</packaging>

完成以上步驟后,能夠看到成功的jar包,如圖:

最后在linux上通過java -jar web-0.0.01.SN...jar 啟動即可。

總結(jié)

以上所述是小編給大家介紹的springboot的war和jar包的使用詳解,希望對大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會及時回復(fù)大家的!

相關(guān)文章

  • Java中內(nèi)存問題之OOM詳解

    Java中內(nèi)存問題之OOM詳解

    這篇文章主要介紹了Java中內(nèi)存管理的OOM詳解,OOM,全稱“Out?Of?Memory”,翻譯成中文就是“內(nèi)存用完了”,來源于java.lang.OutOfMemoryError,當JVM因為沒有足夠的內(nèi)存來為對象分配空間并且垃圾回收器也已經(jīng)沒有空間可回收時,就會拋出這個error,需要的朋友可以參考下
    2023-08-08
  • Java設(shè)計模式之訪問者模式

    Java設(shè)計模式之訪問者模式

    這篇文章介紹了Java設(shè)計模式之訪問者模式,文中通過示例代碼介紹的非常詳細。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-10-10
  • MybatisPlus之likeRight的用法

    MybatisPlus之likeRight的用法

    這篇文章主要介紹了MybatisPlus之likeRight的用法說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • MyBatis-Plus工具使用之EntityWrapper解析

    MyBatis-Plus工具使用之EntityWrapper解析

    這篇文章主要介紹了MyBatis-Plus工具使用之EntityWrapper解析,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • java split結(jié)果去除空字符串的方法實現(xiàn)

    java split結(jié)果去除空字符串的方法實現(xiàn)

    在Java開發(fā)中,我們經(jīng)常需要對字符串進行分割操作,本文主要介紹了java split結(jié)果去除空字符串的方法實現(xiàn),具有一定的參考價值,感興趣的可以了解一下
    2023-10-10
  • java操作elasticsearch的案例解析

    java操作elasticsearch的案例解析

    這篇文章主要介紹了java操作elasticsearch的案例解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-10-10
  • Java使用Lambda表達式查找list集合中是否包含某值問題

    Java使用Lambda表達式查找list集合中是否包含某值問題

    Java使用Lambda表達式查找list集合中是否包含某值的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • SpringBoot自定義錯誤處理邏輯詳解

    SpringBoot自定義錯誤處理邏輯詳解

    這篇文章主要介紹了SpringBoot自定義錯誤處理邏輯,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧
    2022-10-10
  • Java Json字符串的雙引號(

    Java Json字符串的雙引號("")括號如何去掉

    這篇文章主要介紹了Java Json字符串的雙引號("")括號如何去掉?具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09
  • 詳解Spring MVC的攔截器與異常處理機制

    詳解Spring MVC的攔截器與異常處理機制

    這篇文章主要為大家詳細介紹了Spring MVC的攔截器與異常處理機制,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-02-02

最新評論