Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/380.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java配置web应用程序的上下文根_Java_Spring_Properties_Wicket_Wildfly - Fatal编程技术网

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

我有一个使用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-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又包含上下文根标记,则运行时名称对上下文根没有任何影响
也就是说,如果您希望在部署时在WildFly中控制web应用的上下文根,则不能在jboss-web.xml中指定任何上下文根

如果希望利用运行时名称来控制上下文根,那么可以使用不带上下文根标记的jboss-web.xml

我在WildFly 9.0.1和9.0.2上对此进行了测试:


希望这有帮助

好问题,我还想更改上下文根,但我手头上有jboss-web.xml,如果我们可以在wildfly的设置中配置它,就像我们在tomcat的server.xml中更改它一样,那会好得多..这么简单的解决方案,thx:)由于几年前我们在jboss-web.xml中设置了上下文根,我们忘记了上下文根可以从war文件名继承:)非常感谢!这解决了我的问题,因为我忘记从jboss-web.xml中删除上下文根。