我有一个战争项目A我正在部署到使用CDI的JBoss AS7并且一切正常。但我想在另一个项目B中使用一些类,我将其添加到我的pom.xml中并启用了工作区解析,因为这些类将由多个war项目共享。
现在这些类在战争项目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,我真的只能使用一个怪物项目吗?
答案 0 :(得分:1)
您的问题是您正在将war项目结构跟踪到jar项目中,因此您的配置文件不会最终进入最终项目的类路径。为了解决这个问题,请将其移至 / src / main / resources 目录, Maven 将在您的构建完成后设置重新分配它。请查看Maven standard layout解释。