Java配置web应用程序的上下文根
我有一个使用Wicket 6、Spring 3.2和WildFly 8.2.0的Java web应用程序。现在,我正在Java配置web应用程序的上下文根,java,spring,properties,wicket,wildfly,Java,Spring,Properties,Wicket,Wildfly,我有一个使用Wicket 6、Spring 3.2和WildFly 8.2.0的Java web应用程序。现在,我正在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-we
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>
/myCustomContextRoot
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中指定运行时名称的确切语法为: 将路径\u部署到\u war\u文件--运行时名称=wantedName.war 这将导致webapp的上下文根为/wantedName/
- 如果war文件在web-INF中包含jboss-web.xml,而jboss-web.xml又包含上下文根标记,则运行时名称对上下文根没有任何影响
希望这有帮助 好问题,我还想更改上下文根,但我手头上有jboss-web.xml,如果我们可以在wildfly的设置中配置它,就像我们在tomcat的server.xml中更改它一样,那会好得多..这么简单的解决方案,thx:)由于几年前我们在jboss-web.xml中设置了上下文根,我们忘记了上下文根可以从war文件名继承:)非常感谢!这解决了我的问题,因为我忘记从jboss-web.xml中删除上下文根。