@RestController public class TestController { @RequestMapping("index") public String index() { return "hello"; } }
我這裏的版本是8.5.37,這個是由你選用的springboot的版本定的,我選用的springboot是2.0.8版本的。好了,咱們就直接訪問項目了,訪問成功html
好了,咱們剛纔是直接在idea中啓動了這個類,固然就能夠打包成jar包啓動了,就不演示了,直接開始打包爲war包java
<!-- 將打包方式改成war包--> <packaging>war</packaging> <!--排除骨嵌式tomcat,修改第一個依賴--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <!-- 移除嵌入式tomcat插件 --> <exclusions> <exclusion> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> </exclusion> </exclusions> </dependency> <!-- 咱們移除了嵌入式的tomcat,就要添加對應的tomcat依賴包 --> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.1.0</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> <scope>provided</scope> </dependency>
好了,pom.xml算是改完了,這時候,咱們在idea中直接啓動SpringBootApplication.java時會報如下錯誤 web
在咱們springboot啓動類的同一個下建立一個類spring
/** * 修改啓動類,繼承 SpringBootServletInitializer 並重寫 configure 方法 */ public class SpringBootStartApplication extends SpringBootServletInitializer { @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) { // 注意這裏要指向原先用main方法執行的Application啓動類 return builder.sources(SpringbootWardemoApplication.class); } }
由於打包方式爲war包,全部啓動這個類也就報錯了,一樣,也不能打包爲jar包了。那麼咱們就在idea中配置tomcat啓動方式,tomcat的版本要和以前這個嵌入式的同樣(理論上只要大版本上相同就行了,同爲tomcat8.5)。更多的tomcat版本下載,見tomcat各個版本下載 在idea配置tomcat啓動時可能有個小插曲,就是找不到對應的war包,你能夠先使用maven打包一次,或者點擊下這裏 apache
咱們在idea中用tomcat方式啓動後,沒有問題了。api
注意如下幾點 :tomcat
1.以前在springboot中一些配置不生效,最明顯的就是對端口的配置springboot
2.如何修改以前的springboot項目的版本,只要在pom.xml中最開始的地方修改就能夠了app
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.8.RELEASE</version> <relativePath/> </parent>
3.[如何查看本身sprinboot中對應的嵌入式的tomcat的版本](https://www.cnblogs.com/Lyn4ever/p/11667967.html)