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