如何将 root(/) 上下文中的 war 文件部署到 Wildfly ver 9.0.1
How to deploy war file in root(/) context to Wildfly ver 9.0.1
我是 Wildfly 的新手,直到现在我一直在 tomcat 部署我的应用程序。现在只是为了添加 Wildfly 的功能,我们想继续这个。
我正在使用 Windows Os,我已经完成了 wildfly 的基本实现以启动服务等,但无法部署 ROOT.war 代替欢迎页面。我已经研究并浏览了很多链接,我在我的项目 WEB-INF 文件夹中添加了 jboss-web.xml,并在我进入链接时使用以下设置。
但是我仍然无法在独立部署中部署 ROOT.war。每次都失败。不明白我做错了什么。
<?xml version="1.0" encoding="UTF-8"?>
<jboss-web xmlns="http://www.jboss.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://www.jboss.com/xml/ns/javaee
http://www.jboss.org/j2ee/schema/jboss-web_5_1.xsd">
<context-root>/</context-root>
</jboss-web>`
我已经创建了管理员用户,但是为了部署我只使用了 wildfly 用户设置。为此,我还取消了 bin/init.d wildfly.conf fly 中的字段注释。
但是完全没有意识到错误。
注意: 我们也在 linux 机器上尝试过,但是 ROOT.war 也没有部署到那里。used
欢迎页面底部有注释,
To replace this page set "enable-welcome-root" to false in your server
configuration and deploy your own war with / as its context path.
请确认您是否将 enable-welcome-root 设置为 false。
在创建 war 文件之前,必须在 WEB-INF
文件夹中添加两个文件
jboss-web.xml
<?xml version="1.0" encoding="UTF-8"?>
<jboss-web xmlns="http://www.jboss.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://www.jboss.com/xml/ns/javaee
http://www.jboss.org/j2ee/schema/jboss-web_5_1.xsd">
<context-root>/</context-root>
</jboss-web>
空bean.xml
这是为那些在他们的项目中使用 Maven 的人提供的解决方案。要让 Wildfly 在 /
下托管您的应用程序,您必须将包含该应用程序的 war 文件命名为“ROOT.war”。要自动执行此操作,请将 pom.xml
中的默认 war 文件名更改为 ROOT,如下所示:
...
</dependencies>
<build>
<!-- <finalName>${project.artifactId}</finalName> -->
<finalName>ROOT</finalName>
这样,当使用 Maven 将应用程序部署到 Wildfly 时,文件会自动托管在根目录中。
要使用 Wildfly 覆盖欢迎网络应用,您需要在网络应用的 WEB-INF
中创建一个 jboss-web.xml
,内容如下:
<jboss-web>
<context-root>/</context-root>
</jboss-web>
但是如果您尝试访问根目录(例如 http://localhost:8080/),您仍然会看到默认的欢迎内容。要删除它,你只需要在Wildfly目录中重命名目录welcome-content
。
对于我的 wildfly 9.0.1 部署,我们执行了以下两个操作并且成功了。
jboss-web.xml 如上其他专家所述。
在standalone.xml、
<host name="default-host" alias="localhost, myAppDomain.com" default-web-module="myApp.war">
<location name="/" handler="welcome-content"/>
<filter-ref name="server-header"/>
<filter-ref name="x-powered-by-header"/>
</host>
如果你的网络模块在耳朵里,你可以使用以下语法
<host name="default-host" alias="localhost" default-web-module="myApp.ear.myWebApp.war">
<?xml version="1.0" encoding="UTF-8"?>
<jboss-web xmlns="http://www.jboss.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://www.jboss.com/xml/ns/javaee
http://www.jboss.org/j2ee/schema/jboss-web_5_1.xsd">
<context-root>/</context-root>
</jboss-web>`
我已经创建了管理员用户,但是为了部署我只使用了 wildfly 用户设置。为此,我还取消了 bin/init.d wildfly.conf fly 中的字段注释。 但是完全没有意识到错误。
注意: 我们也在 linux 机器上尝试过,但是 ROOT.war 也没有部署到那里。used
欢迎页面底部有注释,
To replace this page set "enable-welcome-root" to false in your server configuration and deploy your own war with / as its context path.
请确认您是否将 enable-welcome-root 设置为 false。
在创建 war 文件之前,必须在 WEB-INF
文件夹中添加两个文件
jboss-web.xml
<?xml version="1.0" encoding="UTF-8"?> <jboss-web xmlns="http://www.jboss.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=" http://www.jboss.com/xml/ns/javaee http://www.jboss.org/j2ee/schema/jboss-web_5_1.xsd"> <context-root>/</context-root> </jboss-web>
空
bean.xml
这是为那些在他们的项目中使用 Maven 的人提供的解决方案。要让 Wildfly 在 /
下托管您的应用程序,您必须将包含该应用程序的 war 文件命名为“ROOT.war”。要自动执行此操作,请将 pom.xml
中的默认 war 文件名更改为 ROOT,如下所示:
...
</dependencies>
<build>
<!-- <finalName>${project.artifactId}</finalName> -->
<finalName>ROOT</finalName>
这样,当使用 Maven 将应用程序部署到 Wildfly 时,文件会自动托管在根目录中。
要使用 Wildfly 覆盖欢迎网络应用,您需要在网络应用的 WEB-INF
中创建一个 jboss-web.xml
,内容如下:
<jboss-web>
<context-root>/</context-root>
</jboss-web>
但是如果您尝试访问根目录(例如 http://localhost:8080/),您仍然会看到默认的欢迎内容。要删除它,你只需要在Wildfly目录中重命名目录welcome-content
。
对于我的 wildfly 9.0.1 部署,我们执行了以下两个操作并且成功了。
jboss-web.xml 如上其他专家所述。
在standalone.xml、
<host name="default-host" alias="localhost, myAppDomain.com" default-web-module="myApp.war"> <location name="/" handler="welcome-content"/> <filter-ref name="server-header"/> <filter-ref name="x-powered-by-header"/> </host>
如果你的网络模块在耳朵里,你可以使用以下语法
<host name="default-host" alias="localhost" default-web-module="myApp.ear.myWebApp.war">