M2E Eclipse Maven工作区解析和CDI



我有一个战争项目a,我正在部署到使用CDI的JBoss AS7中,并且一切都很好。但我想在另一个项目B中使用一些类,我将其添加到pom.xml中,并为其打开了工作空间解析,因为这些类将由多个war项目共享。

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

将beans.xml包含在B中的唯一解决方案是将Bs打包设置为war,此时它没有打包,而是部署为一个目录(像jar一样命名),这会导致JBoss崩溃,并且包括a和B第二次使用的所有库。

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

您的问题是您正在将war项目结构放入jar项目中,因此您的配置文件最终不会进入最终项目的类路径。为了解决这个问题,将其移动到/src/main/resources目录中,Maven将在构建完成后重新分配它。看看Maven标准布局的解释。

最新更新