springboot项目支持war部署tomcat

最近在学校spring boot 在网络上学校到简单的启动spring boot项目,也搭建好了,但时实际情况我的spring boot项目是要发布到tomcat中的,今天,随意打了个war包发布到tomcat中后,访问路径和在myeclipse中启动访问路径不同。且有一些在myeclipse中可以访问的链接都变成了404.

通过在网络上搜索找到了解决方案,同时根据自己的解决项目做对应的修改。这个博客地址找不到了,这里感到抱歉。

我的工具和项目搭建:maven+spring boot

开发工具:myeclipse

开始解决问题。

War包发布,关键在于maven的配置文件pop.xml。关键的地方:

1/打包方式的指定:

<modelVersion>4.0.0</modelVersion>

<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中就可以正常启动了。

springboot项目支持war部署tomcat

5/我在转换是遇到一个路径问题,在使用myeclipse开发是路径为index,这样发布回导致发布后路径404.修改为./index就好了。或者在路径前添加request.getcontextPath()的路径。同样可以解决问题。

上一篇:仿async/await(一)and Gulp:新一代前端构建利器


下一篇:Spring ioc,aop的理解