0

我有一个战争项目 A,我正在部署到使用 CDI 的 JBoss AS7 并且一切正常。但是我想在另一个项目 B 中使用一些类,我将它们添加到我的 pom.xml 并为其打开工作区解析,因为这些类将由多个战争项目共享。

现在这些类只要在战争项目 A 中就可以正常工作,但是当我将它们移到 B 时,它们上的 CDI 停止工作。另一个项目 B 有一个 webapp/WEB-INF/beans.xml,但是在查看 A 的已部署战争时,项目 B 表示为一个仅包含类文件的 jar,没有 beans.xml。无论我尝试什么,CDI 都无法正常工作。

获取 B 中包含 beans.xml 的唯一解决方案是将 Bs 打包设置为 war,此时它不会打包,而是部署为目录(命名为 jar),这会使 JBoss 崩溃,并且包含所有库 A 和 B 再次使用。

我有点迷茫——如果我想在这种情况下使用 CDI,我真的只能使用一个怪物项目吗?

4

1 回答 1

1

您的问题是您将战争项目结构跟踪到一个 jar 项目中,因此您的配置文件没有最终进入您的最终项目的类路径。为了解决这个问题,将它移动到/src/main/resources目录,Maven将在构建完成后重新分配它。看一看Maven 标准布局说明。

于 2013-02-23T17:25:24.033 回答