spring boot搭建的内置tomcat部署方式(jar),需要变成war形式放在外部tomcat中进行部署(减少端口数)的方法

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/qq_27010291/article/details/100971419

最近在研究spring boot的框架,真的,真的,这个框架比之前用的spring mvc轻便多了,谁用谁知道,用它一时爽,一直用一直爽,哈哈哈哈,,,,先对这个框架chui了一波,推荐使用,真的少了许多配置。

但是呢,遇到一个问题,一般搭建都是使用内置的tomcat形式,也就是jar部署形式,直接把tomcat服务内嵌在服务中,这样又少了 部署上的难题。然而,有些情况又需要使用war形式,比如多个系统共用一个端口。这样一来需要把jar形式转换成war。经过测试,有些路由地址(webapi,接口,http请求)竟然访问不了了。比如,原先的192.168.1.2:8080/hello,现在访问出现404错误(部署war)。

那么别急,接下来我将演示怎么样把这个服务弄起来,别眨眼哦!!!!

第一步:部署的时候,需要修改pom.xml文件,声明下,需要部署war形式。增加一行:<packaging>war</packaging>如下图

第二步,右键项目,maven,Update Project

第三步,需要修改主方法,也就是主属性,新建工程时候默认创建的主方法,如下图,需要增加截图上的代码。

@SpringBootApplication
public class SpringBootDemoApplication extends SpringBootServletInitializer {

	@Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        return application.sources(SpringBootDemoApplication.class);
    }

	public static void main(String[] args) {
		SpringApplication.run(SpringBootDemoApplication.class, args);
	}
	

}

自定义一个访问信息如下,在同一个目录下新建controller包,然后映射

第四步,生成war包,启动maven,run as,maven clean先,然后maven install,在target目录找到war包。

第五步:将war包放在tomcat的webapp文件夹下,会自动进行解压,默认生成的war文件的文件名很长,可以自定义名,然后路由需要带上这个文件夹名进行http访问

第六步,测试,需要带上文件夹名的路径。同时,application.properties配置的一些端口信息,和路由地址信息将失效,按照外部的tomcat端口和文件夹地址进行访问。

如下图是jar形式的部署,http://localhost:8081/hello,端口是设置的application.properties端口8081

那么换到外部的tomcat的访问形式变成了这样http://ip:port/SpringBootDemo/hello。需要增加了一个虚拟路径,也就是文件夹的地址SpringBootDemo

好了,就写到这儿,如有问题,希望大家指正,相互学习。

猜你喜欢

转载自blog.csdn.net/qq_27010291/article/details/100971419
今日推荐