詳解springboot項目帶Tomcat和不帶Tomcat的兩種打包方式
1,帶Tomcat的打包方式
1.1, 在pom.xml文件添加以下配置(目的:自定main入口和跳過Junit代碼)
<build> <plugins> <!--打包為jar時指定main入口--> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <!--這里寫上main方法所在類的路徑--> <configuration> <mainClass>com.sh.tool.YnToolApplication</mainClass> </configuration> <executions> <execution> <goals> <goal>repackage</goal> </goals> </execution> </executions> </plugin> <!--忽略Junit代碼--> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>2.4.2</version> <configuration> <skipTests>true</skipTests> </configuration> </plugin> </plugins> </build>
1.2,在命令行窗口輸入命令 :
mvn clean package
1.3,結(jié)果會在項目的target路徑下生成一個.jar文件,將.jar文件復(fù)制到任意路徑,打開命令窗口進(jìn)入.jar所在路徑,執(zhí)行以下命令
java -jar <.jar文件名>
執(zhí)行成功之后就可以訪問controller接口了。
2,去除Tomcat的打包方式
2.1,配置pom.xml文件,加上如下配置
<packaging>war</packaging><!--將packaging指定為war--> <!--移除內(nèi)嵌的Tomcat--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> <scope>provided</scope> </dependency> <build> <plugins> <!--忽略Junit代碼--> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>2.4.2</version> <configuration> <skipTests>true</skipTests> </configuration> </plugin> </plugins> </build>
PS:網(wǎng)上有些說要加以下配置,但是我測試不加也是可以的
<build> <plugins> <!-- maven打包的時候告訴maven不需要web.xml,否剛會報找不到web.xml錯誤 --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <version>2.6</version> <configuration> <failOnMissingWebXml>false</failOnMissingWebXml> </configuration> </plugin> <!--指定jdk版本--> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.1</version> <configuration> <source>1.7</source> <target>1.7</target> </configuration> </plugin> </plugins> </build>
2.2,修改啟動類為如下
@SpringBootApplication public class YnToolApplication extends SpringBootServletInitializer { public static void main(String[] args) { SpringApplication.run(YnToolApplication.class, args); } @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) { return builder.sources(YnToolApplication.class); } }
2.3,執(zhí)行以下命令打包,結(jié)果將在target目錄下生成.war文件
mvn clean package
2.4,將war包放到Tomcat的webapps路徑下,啟動Tomcat,然后訪問就可以了。PS:war包部署的默認(rèn)訪問方式和jar包的有點不同,war包訪問URL需要加上項目名,例如:http://localhost:8989/yn-tool-0.0.1-SNAPSHOT/index
到此這篇關(guān)于詳解springboot項目帶Tomcat和不帶Tomcat的兩種打包方式的文章就介紹到這了,更多相關(guān)springboot Tomcat打包內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
spring boot微服務(wù)自定義starter原理詳解
這篇文章主要介紹了spring boot微服務(wù)自定義starter原理詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-12-12Spring Security在標(biāo)準(zhǔn)登錄表單中添加一個額外的字段
這篇文章主要介紹了Spring Security在標(biāo)準(zhǔn)登錄表單中添加一個額外的字段,我們將重點關(guān)注兩種不同的方法,以展示框架的多功能性以及我們可以使用它的靈活方式。 需要的朋友可以參考下2019-05-05SpringBoot+kaptcha實現(xiàn)驗證碼花式玩法詳解
這篇文章主要想和大家聊聊kaptcha的用法,畢竟這個已經(jīng)有16年歷史的玩意還在有人用,說明它的功能還是相當(dāng)強(qiáng)大的,感興趣的小伙伴可以了解一下2022-05-05IDEA MyBatis Plugins自動生成實體類和mapper.xml
這篇文章主要介紹了IDEA MyBatis Plugins自動生成實體類和mapper.xml,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07詳解Java虛擬機(jī)30個常用知識點之1——類文件結(jié)構(gòu)
這篇文章主要介紹了Java虛擬機(jī)類文件結(jié)構(gòu),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-03-03