詳解springboot項(xiàng)目帶Tomcat和不帶Tomcat的兩種打包方式
1,帶Tomcat的打包方式
1.1, 在pom.xml文件添加以下配置(目的:自定main入口和跳過(guò)Junit代碼)
<build> <plugins> <!--打包為jar時(shí)指定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é)果會(huì)在項(xiàng)目的target路徑下生成一個(gè).jar文件,將.jar文件復(fù)制到任意路徑,打開(kāi)命令窗口進(jìn)入.jar所在路徑,執(zhí)行以下命令
java -jar <.jar文件名>
執(zhí)行成功之后就可以訪問(wèn)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)上有些說(shuō)要加以下配置,但是我測(cè)試不加也是可以的
<build> <plugins> <!-- maven打包的時(shí)候告訴maven不需要web.xml,否剛會(huì)報(bào)找不到web.xml錯(cuò)誤 --> <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,修改啟動(dòng)類為如下
@SpringBootApplicationpublic 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路徑下,啟動(dòng)Tomcat,然后訪問(wèn)就可以了。PS:war包部署的默認(rèn)訪問(wèn)方式和jar包的有點(diǎn)不同,war包訪問(wèn)URL需要加上項(xiàng)目名,例如:http://localhost:8989/yn-tool-0.0.1-SNAPSHOT/index
到此這篇關(guān)于詳解springboot項(xiàng)目帶Tomcat和不帶Tomcat的兩種打包方式的文章就介紹到這了,更多相關(guān)springboot Tomcat打包內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. el-input無(wú)法輸入的問(wèn)題和表單驗(yàn)證失敗問(wèn)題解決2. Vue中原生template標(biāo)簽失效如何解決3. CSS3實(shí)例分享之多重背景的實(shí)現(xiàn)(Multiple backgrounds)4. js開(kāi)發(fā)中的頁(yè)面、屏幕、瀏覽器的位置原理(高度寬度)說(shuō)明講解(附圖)5. XML 非法字符(轉(zhuǎn)義字符)6. 父div高度不能自適應(yīng)子div高度的解決方案7. XML入門的常見(jiàn)問(wèn)題(三)8. vue跳轉(zhuǎn)頁(yè)面常用的幾種方法匯總9. Jquery使用原生AJAX方法請(qǐng)求數(shù)據(jù)10. 不要在HTML中濫用div
