我用IntelliJ编写了两个模块;第一个模块包含业务代码(EJB),第二个模块包含表示(JSF)等。表示层使用业务模块中的一些实体。
我已经制作了一个耳朵神器,并添加了WAR和JAR。
我的问题是:是否有必要将业务模块添加为表示模块的依赖项,因为耳朵中的所有内容不都是彼此可见的吗?将其添加为模块依赖项与创建一个同时包含两个模块的EAR工件之间有什么区别?
发布于 2012-01-04 12:28:16
我认为您需要代码辅助和其他引用的依赖项。例如,我知道这不是完全正确的,我用EJB编写代码,其中在JBoss容器中声明的“组件”可以从web容器中引用(在我的例子中,是在WEB-INF中找到的Seam "components.xml“文件)。
现在,具有可见性是一回事,但实际的依赖关系是由以下事实处理的:(正如您正确地说的),您的.ear中将同时具有EJB (.jar)和Web (.war)工件。
因此,您可以通过在项目结构>模块>您的Web模块>依赖项中看到的EJB模块名称右侧的Scope列中设置的那样,注意到EJB模块应该“提供”(而不是“编译”),从而避免EJB最终进入您的web模块。
https://stackoverflow.com/questions/8719448
复制相似问题