我尝试使用许多配置部署我的网站,以便从正在部署的战争名称进行更改。有没有办法轻松做到这一点。部署将在一个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上进行部署)
任何帮助都将不胜感激。
由于
答案 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时,它会将上下文设置为文件名。