0

我的工作区中有三个项目:

  • prjData,一个“简单”项目(没有 java 也没有任何其他方面),包括许多配置文件(xml、属性等)
  • prjWeb,一个“动态网络”项目
  • prjEar,一个耳朵项目,它的“项目参考”中有 prjWeb

我尝试从 Eclipse (helios) 内部将 prjEar 部署在 JBoss 4.2 上。

我创建了服务器(在服务器视图中),然后在其 wtp 启动器的类路径中添加了 prdData/config(双击服务器项,然后从概览窗口中,单击“打开启动配置”,选择类路径选项卡,高级/添加文件夹)。

当我从服务器视图启动服务器时,控制台视图确认 Jboss 启动了 webapp,但在所有需要实际位于此附加类路径文件夹中的配置文件(如 log4j 或 OJB 配置)的任务上都失败了。

我习惯用 Tomcat 做到这一点,而且效果很好。但是对于当前的项目,必须坚持使用 JBoss。

Jboss和webapp考虑(或不考虑)在wtp启动器视图中设置的类路径附加文件夹的方式有什么问题?

4

1 回答 1

0

实际上,Eclipse/WTP 将文件夹添加到 JBoss 运行时并没有错。

问题来自我对 OJB 配置加载的错误理解。

我正在处理一个现有的应用程序,其中 repository.xml 文件被拆分为通过 xml 实体包含的部分。这些片段位于 prjData 的不同文件夹中,但 prjData 被配置为一个 java 项目,具有尽可能多的“源”目录。然后 prjData 作为 java 子模块包含在 prjWeb 中,因此这些“源”目录中的部分都在 WEB-INF/classes 中的同一位置结束,这让 JBoss 很高兴。

当我决定打破 prjData 的 Java 特性并将其包含在 prjWeb 中替换为类路径包含时,问题就出现了。然后所有部分都在类路径中,但仍在不同的文件夹中。

当 repository.xml 尝试解析其 xml 实体时,它未能找到碎片(因为它通过文件系统组织查找文件,而不是当前的 java 类路径),从而导致整个应用程序无法启动。

我只需要更改 xml 实体声明中的文件组织和相对路径即可使其再次工作。

于 2012-08-31T15:09:15.957 回答