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下还有其他的文件夹,可以都删掉。启动后如下图,就可以直接不带项目路径访问了。
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="" 表示不带任务访问路径。
上一篇: TCP客户/服务器程序示例
下一篇: Spring Boot2的静态资源路径