Java 配置 Web 应用程序的上下文根
Java configure context root of web application
我有一个使用 Wicket 6、Spring 3.2 和 WildFly 8.2.0 的 Java 网络应用程序。现在我在 jboss-web.xml
文件中设置我的 Web 应用程序的上下文根,如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE jboss-web PUBLIC "-//JBoss//DTD Web Application 5.0//EN" "http://www.jboss.org/j2ee/dtd/jboss-web_5_0.dtd">
<jboss-web>
<context-root>/myCustomContextRoot</context-root>
</jboss-web>
将jboss-web.xml
文件编译成war。现在一些客户想要将此上下文根更改为空上下文根。所以我必须根据不同的上下文根重新编译我的应用程序版本。有没有办法从 .war 外部以编程方式从 .properties 文件或任何其他方式设置我的应用程序的上下文根,例如在 WildFly 8.2.0 的 standalone.xml
中?
部署 Web 应用程序时设置运行时名称。假设您的 WAR 被称为 myapp-1.0.0-SNAPSHOT.war
。使用 foo.war
的运行时名称,上下文根将为 /foo
。
使用运行时名称 ROOT.war
,上下文根将为 /
。
可以在通过 Web 控制台或 CLI 部署时设置运行时名称。
感谢 Harald Wellmann 的回答。它回答了问题并为我指出了正确的方向!
有些事情我必须自己找出来,可能会对其他人有所帮助:
jboss-cli 中指定运行时名称的确切语法是:
部署path_to_war_file --runtime-name=wantedName.war
这导致 web 应用程序的 /wantedName/ 的上下文根。
- 如果 war 文件在 WEB-INF 中包含一个 jboss-web.xml,而后者又包含一个上下文根标签。
也就是说,如果您想在部署时在 WildFly 中控制您的网络应用程序的上下文根,则不得在 jboss-web.xml 中指定任何上下文根。
如果您想利用运行时名称来控制上下文根,那么 jboss-web.xml 没有上下文根标记也是可以的。
我在 WildFly 9.0.1 和 9.0.2 上进行了测试:
希望对您有所帮助!
我有一个使用 Wicket 6、Spring 3.2 和 WildFly 8.2.0 的 Java 网络应用程序。现在我在 jboss-web.xml
文件中设置我的 Web 应用程序的上下文根,如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE jboss-web PUBLIC "-//JBoss//DTD Web Application 5.0//EN" "http://www.jboss.org/j2ee/dtd/jboss-web_5_0.dtd">
<jboss-web>
<context-root>/myCustomContextRoot</context-root>
</jboss-web>
将jboss-web.xml
文件编译成war。现在一些客户想要将此上下文根更改为空上下文根。所以我必须根据不同的上下文根重新编译我的应用程序版本。有没有办法从 .war 外部以编程方式从 .properties 文件或任何其他方式设置我的应用程序的上下文根,例如在 WildFly 8.2.0 的 standalone.xml
中?
部署 Web 应用程序时设置运行时名称。假设您的 WAR 被称为 myapp-1.0.0-SNAPSHOT.war
。使用 foo.war
的运行时名称,上下文根将为 /foo
。
使用运行时名称 ROOT.war
,上下文根将为 /
。
可以在通过 Web 控制台或 CLI 部署时设置运行时名称。
感谢 Harald Wellmann 的回答。它回答了问题并为我指出了正确的方向!
有些事情我必须自己找出来,可能会对其他人有所帮助:
jboss-cli 中指定运行时名称的确切语法是:
部署path_to_war_file --runtime-name=wantedName.war
这导致 web 应用程序的 /wantedName/ 的上下文根。
- 如果 war 文件在 WEB-INF 中包含一个 jboss-web.xml,而后者又包含一个上下文根标签。
也就是说,如果您想在部署时在 WildFly 中控制您的网络应用程序的上下文根,则不得在 jboss-web.xml 中指定任何上下文根。
如果您想利用运行时名称来控制上下文根,那么 jboss-web.xml 没有上下文根标记也是可以的。
我在 WildFly 9.0.1 和 9.0.2 上进行了测试:
希望对您有所帮助!