在容器tomcat服务器上更改已部署(Spring Boot)战争的上下文路径。所以它不是demo-0.01-SNAPSHOT

时间:2017-05-08 19:40:42

标签: java spring tomcat spring-boot deployment

我尝试使用许多配置部署我的网站,以便从正在部署的战争名称进行更改。有没有办法轻松做到这一点。部署将在一个tomcat坐在其他地方。例如bitnami实例

我在application.properties中尝试了各种设置组合,但没有任何区别:

 server.servlet.context-path=/a
    server.servlet.path=/b
    spring.webservices.path=/c
    server.contextPath=/m

战争称为demo-0.0.01-SNAPSHOT.war,当放入webapps目录时,它会创建相同的命名目录,然后该站点有一个/demo-0.0.01-SNAPSHOT路径。我认为Spring Boot的日子现在很容易,但像我这样的傻瓜还没有解决。或者人们只是使用tomcats部署嵌入式版本并立即运行它们?

(顺便说一下,我也尝试了root.xml,没有运气......除非我在我的Windows机箱上做错了,先在我的开发箱上进行测试,然后在linux上进行部署)

任何帮助都将不胜感激。

由于

2 个答案:

答案 0 :(得分:8)

用于指定应用程序的上下文路径的Spring Boot属性为:server.contextPath 但是,将WAR部署到独立的Tomcat实例中的事实不允许使用它 在此配置中,您不能使用server.contextPath和特定于容器的其他属性(例如server.port)。 这些设计用于嵌入式Tomcat实例。

独立的Tomcat实例确实可以控制Spring Boot提供的这些功能。 因此,您必须从独立Tomcat的配置文件(通常是server.xml或ROOT.xml方式)配置它。

答案 1 :(得分:3)

为maven添加 finalName 设置为 pom.xml 将为其创建打包的war文件名。例如。

<build>
...
<finalName>myapp</finalName>
</build>

打包的文件名为 myapp.war 。部署到tomcat时,它会将上下文设置为文件名。