在部署时在wildfly 8中指定Web应用程序的根上下文

时间:2014-06-09 08:53:34

标签: java java-ee jboss wildfly

是否可以在部署时覆盖WEB-INF / jboss-web.xml中指定的根上下文?

我有这个jboss-web.xml

<?xml version="1.0" encoding="UTF-8"?>
<jboss-web>
    <context-root>my-context</context-root>
</jboss-web>

我希望能够在不同的根环境中部署应用程序。 /我的某些环境的另一个上下文,但在其他环境中保留/我的上下文。

3 个答案:

答案 0 :(得分:1)

您可以通过WildFly Maven Plugin(作为CI工作的一部分)或使用WildFly CLI执行此操作。

maven变体类似于以下命令:

org.wildfly.plugins:wildfly-maven-plugin:deploy-only
    -Dwildfly.deployment.filename=app.war 
    -Dwildfly.deployment.runtime.name=appcontext.war

该应用将部署在 / appcontext

请注意,您应该从 jboss-web.xml 中删除 context-root ,否则此值将始终获胜。

CLI变体看起来像(documentation):

[dply@as wildfly-8.2.0.Final]$ bin/jboss-cli.sh 
You are disconnected at the moment. Type 'connect' to connect to the server or 'help' for the list of supported commands.
[disconnected /] connect
[standalone@localhost:9990 /] deploy /path/to/app.war --runtime-name=appcontext.war

答案 1 :(得分:0)

为此,您可以将maven配置文件(例如“my-context”和“another-context”)和maven资源过滤结合起来,如下所述:Maven resource filters

在一切按预期工作之前,确实需要一点时间。

答案 2 :(得分:-1)

如果您有EAR文件,则需要在application.xml

中定义它
<module>
  <web>
     <web-uri>webapp.war</web-uri>
     <context-root>/my-context</context-root>
  </web>
</module>