欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Spring Boot 2.X 部署war包到tomcat、设置不带项目路径

程序员文章站 2022-07-10 18:13:05
...

Spring Boot 默认将Web应用打包成jar形式,因为 spring-boot-starter-web 依赖包含了全栈Web开发模块,包含嵌入式Tomcat,Spring MVC。但有时候需要在外部的tomcat中运行spring boot 项目,此时需要将应用打包成war。修改项目的pom文件,<packaging>jar</packaging>修改成<packaging>war</packaging>。通过maven 命令 clean install ,打包完成后可以在target下看到打包好的war文件,文件的名称跟你项目的名称一样。如果需要修改war包的名称,则需要加上<finalName>

<build>
		<!-- war包名称-->
		<finalName>demo</finalName>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
			</plugin>
		</plugins>
	</build>

这里访问的项目名称需要跟war名称一样,否则访问不通。而application.properties中设置了端口,访问路径只是针对内嵌容器。对于外部tomcat不起作用。

设置不带项目路径访问

有两种方式:
1、将war名称改成ROOT,即打包成ROOT.war。将ROOT.war放在tomcat安装目录下的webapps下即可,如果webapps下还有其他的文件夹,可以都删掉。启动后如下图,就可以直接不带项目路径访问了。
Spring Boot 2.X 部署war包到tomcat、设置不带项目路径
2、修改tomcat 的server.xml配置文件
<Host> 节点下增加

<Context path="" docBase="C:\Users\sand\Desktop\apache-tomcat-8.5.43\apache-tomcat-8.5.43\war\api.war"  reloadable="true" crossContext="true"/>

docBase : 填写你war所在的路径。 path="" 表示不带任务访问路径。
Spring Boot 2.X 部署war包到tomcat、设置不带项目路径

相关标签: springboot tomcat