最近在學校spring boot 在網絡上學校到簡單的啓動spring boot項目,也搭建好了,但時實際狀況個人spring boot項目是要發佈到tomcat中的,今天,隨意打了個war包發佈到tomcat中後,訪問路徑和在myeclipse中啓動訪問路徑不一樣。且有一些在myeclipse中能夠訪問的連接都變成了404.web
經過在網絡上搜索找到了解決方案,同時根據本身的解決項目作對應的修改。這個博客地址找不到了,這裏感到抱歉。spring
個人工具和項目搭建:maven+spring bootapache
開發工具:myeclipsetomcat
開始解決問題。網絡
War包發佈,關鍵在於maven的配置文件pop.xml。關鍵的地方:eclipse
1/打包方式的指定:maven
<modelVersion>4.0.0</modelVersion>ide
<groupId>gateway</groupId>工具
<artifactId>gateway</artifactId>開發工具
<packaging>war</packaging>打包方式指定war
<version>0.0.1-SNAPSHOT</version>
2/在plugin標籤中指定bulid方式位war
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>bulid方式
<configuration>
<warSourceExcludes>src/main/resources/**</warSourceExcludes>
<warName>gateway</warName>
</configuration>
</plugin>
3/添加相似與web配置的spring啓動方法。
必須與@SpringBootApplication註解類放到同一級目錄下不然回無效果。
個人@SpringBootApplication註解類爲
Application
/**
* 支持tomcat的啓動類
* @author GuoPC
*
*/
public class SpringBootStartApplication extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
// 注意這裏要指向原先用main方法執行的Application啓動類
return builder.sources(Application.class);
}
}
這些配置好,發佈到tomcat中就能夠正常啓動了。
5/我在轉換是遇到一個路徑問題,在使用myeclipse開發是路徑爲index,這樣發佈回致使發佈後路徑404.修改成./index就行了。或者在路徑前添加request.getcontextPath()的路徑。一樣能夠解決問題。