是否可以为实体(src/main)创建一个 Seam 项目,而其他项目可以访问它们?
我有一种情况,一个组织有 6 个项目访问相同的实体,我不想在每个项目中复制它们。如果可能的话,我该怎么做?我在哪里可以找到有关它的文档?
谢谢,
卡特诺维格里奥
是的,这是很常见的方式。查看Richfaces 相册示例,其中您有 ejb 模块持有域并用作 Web 模块中的依赖项。当然,您必须记住将空文件seam.properties添加到结果 jar 文件中。
PS。此示例由 maven 构建并使用 ejb(实体和会话 bean)。如果你愿意,你可以使用 seam-gen 和 POJO。
取决于你到底是什么意思。
是的,您可以为您的实体类声明单独的项目。我大约有大约 50 个项目。其中少数实际上是打包为 WAR 文件的 Web 应用程序。其余部分由实用程序项目、服务项目、侦听器、实体和 servlet 过滤器组成。
以这种方式分解项目有其优点和缺点。每当您对项目进行更改时,您都必须将该更改传播到其他项目中。但是,它隔离了您的代码并允许您更轻松地编写单元测试,因为您现在可以专注于 5 个类而不是 500 个。
另一个潜在的缺点是,不幸的是,PMD 将无法检测您是否在项目之间重复了代码。至少我还不知道该怎么做。
我使用这种模式(分而治之/重构复制)来避免重复代码。