想要在外部 Tomcat 服务器版本 9 中更改 Spring 引导应用程序中的上下文路径
Want to change the context path in Spring boot application in an external Tomact server version 9
我想在外部 Tomcat 服务器版本 9 中部署一个 Spring 引导应用程序。我能够部署它并在端点上工作。但是我在 application.properties
文件中设置的属性不起作用。就像 server.servlet.context-path=/myapp
是行不通的,我得到的上下文路径是 http://localhost:8080/myapp-0.0.1-SNAPSHOT/api/ping
.
我正在使用 2.3.10.RELEASE 和 Java 1.8 和 Tomcat 版本 9.0.46 谁能帮我解决这个问题。
但在嵌入式 tomcat 上一切都完美无缺。在此先感谢和任何建议,非常感谢评论。
谁能帮我解决这个问题 - 我的 war 文件名是 myapp-0.1.war 但应用程序的上下文路径是这样的 localhost:8080/myapp/api/ping
在构建文件中使用 finalName 属性(pom.xml for maven)
<finalName>myapp</finalName>
当您 运行 在外部 servlet 容器中启动 Spring 应用程序时,server.*
属性 不 适用。
如果您愿意更改命名约定,您可以将名为 myapp##0.1.war
的 WAR 文件放入 $CATALINA_BASE/webapps
目录并受益于并行部署(参见 parallel deployment).
如果你想坚持你的命名约定,你可以为你的 WAR 文件创建一个文件夹(例如 $CATALINA_BASE/webapps-available
)并创建一个部署描述符 $CATALINA_BASE/conf/<engine_name>/<host_name>/<context_path>.xml
(在你的情况下可能 $CATALINA_BASE/conf/Catalina/localhost/myapp.xml
) 具有以下内容:
<Context docBase="${catalina.base}/webapps-available/myapp-0.1.war" />
我想在外部 Tomcat 服务器版本 9 中部署一个 Spring 引导应用程序。我能够部署它并在端点上工作。但是我在 application.properties
文件中设置的属性不起作用。就像 server.servlet.context-path=/myapp
是行不通的,我得到的上下文路径是 http://localhost:8080/myapp-0.0.1-SNAPSHOT/api/ping
.
我正在使用 2.3.10.RELEASE 和 Java 1.8 和 Tomcat 版本 9.0.46 谁能帮我解决这个问题。
但在嵌入式 tomcat 上一切都完美无缺。在此先感谢和任何建议,非常感谢评论。
谁能帮我解决这个问题 - 我的 war 文件名是 myapp-0.1.war 但应用程序的上下文路径是这样的 localhost:8080/myapp/api/ping
在构建文件中使用 finalName 属性(pom.xml for maven)
<finalName>myapp</finalName>
当您 运行 在外部 servlet 容器中启动 Spring 应用程序时,server.*
属性 不 适用。
如果您愿意更改命名约定,您可以将名为 myapp##0.1.war
的 WAR 文件放入 $CATALINA_BASE/webapps
目录并受益于并行部署(参见 parallel deployment).
如果你想坚持你的命名约定,你可以为你的 WAR 文件创建一个文件夹(例如 $CATALINA_BASE/webapps-available
)并创建一个部署描述符 $CATALINA_BASE/conf/<engine_name>/<host_name>/<context_path>.xml
(在你的情况下可能 $CATALINA_BASE/conf/Catalina/localhost/myapp.xml
) 具有以下内容:
<Context docBase="${catalina.base}/webapps-available/myapp-0.1.war" />