【问题标题】:Configuring ear web module in Wildfly在 Wildfly 中配置 ear web 模块
【发布时间】:2015-04-29 07:55:00
【问题描述】:

我正在将旧版 Java EE Web 应用程序从 orion 服务器迁移到 WildFly。

ear文件的目录结构如下:

my_proj.ear
|--META-INF/MANIFEST.MF
|--META-INF/application.xml
|--web/a_few_js/jsp_files
|--web/WEB-INF/classes/a_few_java_classes
|--web/WEB-INF/web.xml

application.xml 有以下内容:

<application>
    <display-name>my_proj</display-name>
    <module>
    <web>
        <web-uri>web</web-uri>
    </web>
    </module>
</application>


我能够在 JBoss 中成功部署耳朵。但是,当我点击 url “localhost:8080/my_proj”时,我得到了 404。

我可以毫无问题地访问基于 war 文件的部署的 URL。我在这里错过了什么吗?

我对 Java EE 和 JBoss 比较陌生。

如果您需要任何其他信息,请告诉我。

【问题讨论】:

  • 为了继续我的工作,我决定将它重新包装为战争。我不确定为什么将遗留应用程序打包为 .ear 一开始。谢谢大家的回答。仍然有兴趣了解上述问题的解决方案。

标签: jakarta-ee jboss wildfly ear wildfly-8


【解决方案1】:

您将 web-uri 配置为 web,然后如果端口正确,请尝试地址 http://localhost:8080/web

【讨论】:

  • 嗨 Alexander,application.xml 中的 web-uri 元素用于将 web 组件指向耳朵内部。它不是上下文根。
  • 你搞错了。在 Web 应用程序的 EAR 上下文根中,通过 ear 根中 META-INF 文件夹中的 application.xml 定义。
【解决方案2】:

您也可以在 WEB-INF 目录中添加一个 jboss-web.xml。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE jboss-web PUBLIC "http://www.jboss.org/j2ee/dtd" "http://www.jboss.org/j2ee/dtd/jboss-web_5_0.dtd">
<jboss-web>
    <context-root>my_proj</context-root>
</jboss-web>

您的 web.xml 版本应该是版本 3:

   <?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
         version="3.0">

【讨论】:

  • ozOli,我尝试通过 jboss-web.xml 和 application.xml 添加上下文根(如下所述)。这两种方式都没有帮助。
猜你喜欢
  • 2020-07-16
  • 1970-01-01
  • 1970-01-01
  • 2011-08-01
  • 1970-01-01
  • 2020-05-13
  • 1970-01-01
  • 2014-12-24
  • 2015-12-04
相关资源
最近更新 更多