2

我有一个 EAR 文件,我正在尝试与 JBoss 4.2.3 上的各种 WAR 部署一起部署

各个独立 WAR 部署都工作正常,只是 EAR 中包含的同一应用程序的副本,但 EAR 部署及其包含的 WAR 无法正常工作。

当我访问 jboss-web.xml 配置为与此 EAR 关联的虚拟主机时,我在浏览器中收到一个空白页面。与独立 WAR 部署关联的其他虚拟主机都可以正常工作,并且配置方式相同。

我在启动时没有收到任何错误,并且 JBoss 报告该站点已启动。我在 WAR 的 WEB-INF 中有一个 jboss-web.xml 文件,它将它与 server.xml 的定义联系起来。这适用于除 EAR 之外的所有其他类型的配置。我一直只得到一个白页,好像 JBoss 无法将 EAR 中的 WAR 连接到主机,或者 WAR 没有正确启动,或者我这里有一些配置错误。

当我启动 JBoss 时,它会在 webwar1.war/WEB-INF 中创建 flex 和 railo 目录,并在 railo.ear/lib/railo-server 中创建一个 railo-server 目录,但仍然只是为我提供一个空白页。

这是我站的地方...

我有一组共享的 Railo JAR 文件位于 /JBoss/server/default/deploy/jboss-web.deployer/railojars/lib (我告诉 jboss-service.xml 将其包含为类路径)

我的 site1.WAR 和 site2.WAR 文件位于 deploy 文件夹中,每个文件都包含一个 index.cfm 和一个 WEB-INF,其中 web.xml 和 jboss-web.xml 映射到虚拟主机。他们每个人都使用这个共享的 Railo JAR 实例并完美运行。我在 server.xml 中配置的带有外部文件夹的 docPath 和 appPath 的站点使用此共享 JAR 安装并完美运行。一切都很好。

如果我在 /JBoss/server/default/deploy 文件夹(带有 Railo lib 文件夹的完整 WAR)中放置 railo1.war、railo2.war 等,这些站点将使用 WAR 中包含的 Railo 实例。这也很棒。

所以,我唯一剩下的问题是:

在 /JBoss/server/default/deploy 下我创建了 railo.ear

railo.ear 内部是:META-INF,其中包含 application.xml,其中:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE application PUBLIC "-//Sun Microsystems, Inc.//DTD J2EE Application 1.2//EN" "http://java.sun.com/j2ee/dtds/application_1_2.dtd">
<application id="RailoInstance1">
 <display-name>Railo3</display-name>
 <description>Railo3</description>
 <module id="Module1">
 <web>
  <web-uri>webwar1.war</web-uri>
  <context-root>/webwar1</context-root>
 </web>
 </module>
</application>

它还包含 webwar1.war,其中包含:index.cfm 和 WEB-INF

WEB-INF 有 web.xml、lib 和 jboss-web.xml

jboss-web.xml 看起来像这样:

<jboss-web>
    <context-root>/</context-root>
    <virtual-host>foo3.com</virtual-host>
</jboss-web>

从 server.xml:

<Host name="foo3.com">
    <Alias>www.foo3.com</Alias>
</Host>

foo3.com 正在使用 jk_mod 通过来自 Apache 的虚拟主机发送到 JBoss。映射到 WAR 部署的其他两个站点(foo1.com、foo2.com)的配置方式完全相同,并且工作正常。

WEB-INF 包含 lib 文件夹,因此我希望这个 webwar1.WAR 实例使用该 lib 文件夹中包含的 Railo JAR 文件。问题是当我启动 JBoss 时,我所有的其他站点都配置了它们的各种工作方式,但是 webwar1.war 中的站点没有出现。我只是在浏览器中看到一个白页。

因此,webwar1.war 文件中的 WEB-INF 中的 jboss-web.xml 没有连接到 server.xml 中定义的内容,或者这里出现了其他问题。我的其他独立 WAR 安装和共享 JAR 站点都可以看到它们各自的描述符,如 jboss-web.xml 中标记的那样,并且具有与此部署相同的内容。

所以,我只是想弄清楚我需要做什么才能让最后一个 EAR 配置正常工作。

我现在尝试的方式似乎每个 WAR 都会尝试使用它包含的 JAR 文件,但我希望为整个 EAR 拥有一组共享的 JAR 文件,然后耳朵中的每个 WAR 文件都使用这些 JARS。

我希望能够在这个 EAR 配置下拥有 webwar1.war、webwar2.war 等,因此我已将 lib 文件夹移出 webwar1.war/WEB-INF/lib 并移入 railo.ear/lib

我很想以这种方式进行设置,但我什至无法在 EAR 中加载一个带有自己的 JAR 文件的 WAR。我已经尝试了这种新配置,并在浏览器中获得了相同的空白页面。

有任何想法吗?

JBoss 没有给我任何错误。另一个奇怪的事情是,当我尝试访问配置不正确且未启动的站点时,我没有从 Apache 收到错误。如果我访问的站点没有在 JBoss 中设置为主机并且我通过 jk_mod 重定向到 JBoss,我会看到 JBoss 默认页面。当我访问 railo.ear 中与这个 webwar1.war 关联的虚拟主机时,我没有看到这个默认页面,所以 JBoss 必须知道它应该对域/虚拟主机做一些事情,否则它会告诉我默认的 JBoss页。相反,我看到的是一个空白的白色。

我还应该提到这适用于 JBoss 5.1。railo.ear 配置了完全相同的方式锁定到虚拟主机并正常工作。

帮助?谢谢!!!!

4

1 回答 1

1

听起来像是一项复杂的工作;railo-users 邮件列表上的人可能会提供帮助:http ://groups.google.com/group/railo

Railo还有一个专业的服务团队是王牌:http ://www.getrailo.com/index.cfm/contact-us/

于 2010-10-13T14:31:37.260 回答