WildFly Maven 插件 - 设置空白上下文根
WildFly Maven Plugin - Setting Blank Context Root
我正在使用 Maven WildFly 插件并且在我的 pom.xml
中有以下内容(版本是 2.0.1.Final
并且路径指向本地 WildFly 8.2.1.Final
服务器)。
<build>
<plugins>
<plugin>
<groupId>org.wildfly.plugins</groupId>
<artifactId>wildfly-maven-plugin</artifactId>
<version>${wildfly.version}</version>
<configuration>
<jboss-home>${wildfly.path}</jboss-home>
</configuration>
</plugin>
</plugins>
</build>
应用程序正在部署为 localhost:8080/myArtifactId-myVersion
,这是预期的,因为默认行为是使用 WAR 名称。但是,我想更改上下文根,以便可以通过 localhost:8080/
访问应用程序(即我想要一个空白的上下文根)。
方法一:更改Pom配置
我可以在 pom.xml
中更改 finalName
构建设置,如下所示。
<build>
<finalName>newContextRoot</finalName>
</build>
这会正确地将 url 更新为 localhost:8080/newContextRoot
。然后我尝试将其更改为空白值。
<build>
<finalName></finalName>
</build>
然而,这会导致我的 IDE 出现 Value must not be empty
错误,当我尝试构建它时失败,显示 Error assembling WAR: A zip file cannot include itself
。
方法二:更改插件配置
可能更好的解决方案是更改 Maven WildFly 插件本身的配置。在 <configuration>
部分下,我可以添加以下内容。
<name>anotherContextRoot.war</name>
这正确地将 url 更改为 localhost:8080/anotherContextRoot
。因此,我再次尝试创建一个空白名称,如下所示。
<name>.war</name>
然而,这会导致 IllegalArgumentException: Empty name segment is not allowed for module
。
问题
有谁知道使上下文根为空的适当方法吗?提前致谢。
我设法解决了这个问题。除了将 jboss-web.xml
文件添加到 WEB-INF
目录外,您无需执行任何操作,如下所示。
<?xml version="1.0" encoding="UTF-8"?>
<jboss-web>
<context-root>/</context-root>
<default-encoding>UTF-8</default-encoding>
</jboss-web>
这会设置上下文根并覆盖插件正在执行的操作。
希望这对其他人有帮助。
我正在使用 Maven WildFly 插件并且在我的 pom.xml
中有以下内容(版本是 2.0.1.Final
并且路径指向本地 WildFly 8.2.1.Final
服务器)。
<build>
<plugins>
<plugin>
<groupId>org.wildfly.plugins</groupId>
<artifactId>wildfly-maven-plugin</artifactId>
<version>${wildfly.version}</version>
<configuration>
<jboss-home>${wildfly.path}</jboss-home>
</configuration>
</plugin>
</plugins>
</build>
应用程序正在部署为 localhost:8080/myArtifactId-myVersion
,这是预期的,因为默认行为是使用 WAR 名称。但是,我想更改上下文根,以便可以通过 localhost:8080/
访问应用程序(即我想要一个空白的上下文根)。
方法一:更改Pom配置
我可以在 pom.xml
中更改 finalName
构建设置,如下所示。
<build>
<finalName>newContextRoot</finalName>
</build>
这会正确地将 url 更新为 localhost:8080/newContextRoot
。然后我尝试将其更改为空白值。
<build>
<finalName></finalName>
</build>
然而,这会导致我的 IDE 出现 Value must not be empty
错误,当我尝试构建它时失败,显示 Error assembling WAR: A zip file cannot include itself
。
方法二:更改插件配置
可能更好的解决方案是更改 Maven WildFly 插件本身的配置。在 <configuration>
部分下,我可以添加以下内容。
<name>anotherContextRoot.war</name>
这正确地将 url 更改为 localhost:8080/anotherContextRoot
。因此,我再次尝试创建一个空白名称,如下所示。
<name>.war</name>
然而,这会导致 IllegalArgumentException: Empty name segment is not allowed for module
。
问题
有谁知道使上下文根为空的适当方法吗?提前致谢。
我设法解决了这个问题。除了将 jboss-web.xml
文件添加到 WEB-INF
目录外,您无需执行任何操作,如下所示。
<?xml version="1.0" encoding="UTF-8"?>
<jboss-web>
<context-root>/</context-root>
<default-encoding>UTF-8</default-encoding>
</jboss-web>
这会设置上下文根并覆盖插件正在执行的操作。
希望这对其他人有帮助。