当前位置: 首页 > 知识库问答 >
问题:

Spring-Boot war外部Tomcat上下文路径

袁俊弼
2023-03-14

我们使用Spring Boot,我创建了一个WAR,而不是一个JAR,以部署在普通的Tomcat服务器上。似乎所有的工作都很好,只是上下文路径设置不正确。我的index.html中的任何相对路径都不工作。

在浏览器中加载应用程序时,

<link type="text/css" rel="stylesheet" href="app.min.css" />

试图从http://localhost:port/app.min.css而不是http://localhost:port/contextpath/app.min.css加载“。尝试在application.properties中设置此值不起作用,因为该值似乎仅适用于嵌入的Tomcat服务器。

共有1个答案

艾泰
2023-03-14

正如您已经猜到的,server.context-path属性以及所有其他server.*属性仅适用于嵌入的tomcat。如果使用WAR打包部署到外部tomcat,则必须在外部tomcat本身中配置这些值。

我们通常在这里这样做的方法是在./conf/catalina/localhost/中使用一个上下文描述符,其名称与您预期的上下文路径相等,即根据文档,使用contextpath.xml

 类似资料:
  • 在Spring-Boot应用程序中,可以使用中的属性来选择上下文路径,但是由于我使用的是外部Tomcat8,因此没有使用该属性。 因此,我查看了tomcat-8文档,其中指出: 如果要使用与基文件名无关的上下文路径部署WAR文件或目录,则必须使用以下选项之一来防止双重部署: null null

  • 我有一个spring boot应用程序abc.myapp.war,它部署在外部tomcat服务器上。默认情况下,tomcat使用war文件名作为部署的应用程序的上下文路径,因此它变成http://localhost:8080/abc.myapp,但我希望有一个自定义的上下文路径,如http://localhost:8080/abc/myapp。我阅读了其他帖子,他们建议在tomcat的server

  • 我有一个Spring Boot应用程序,我将把它作为.war文件部署在现有的Tomcat和Undertow(Wildfly)容器中。如何从应用程序内部配置上下文路径? 我知道我可以直接使用.war名称,但我不想这样做,因为.war名称包含版本信息等。

  • 目前,我的所有属性都定义在文件中。但是,我希望在文件夹中有与不同配置文件相关的属性文件,并且我希望能够选择其中的任何一个。例如: null

  • 我在Tomcat中部署了基于Spring Boot的war文件。我无法使用外部应用程序属性文件。我正在使用follows提供外部属性文件的路径 我也用qoutes试过 这些属性不起作用,spring正在读取绑定在war文件中的属性文件。有谁能帮我一下吗?谢谢