在多个项目之间共享实体

时间:2012-03-23 15:22:24

标签: java entity multi-project

我有3个具有相同实体的Java项目。

我想在这些项目之间共享实体,因为实体可以在开发阶段发展。

我们正在考虑使用Maven构建jar并使用Maven(使用存储库)共享它。

也许你有另一个解决方案?

5 个答案:

答案 0 :(得分:2)

我也建议使用Maven在项目之间共享代码。

以下是一些入门提示:

  • 使用Nexus等Maven资源库管理器。它会帮助你 创造稳定的发展环境。
  • 每个开发人员(也是Continuous Integration Server用户)都应配置其设置文件以使用Maven资源库 经理。不要在POM中指定您的存储库,对它们进行配置 仅在您的Maven Repository Manager中。 http://www.sonatype.com/books/nexus-book/reference/maven-sect-single-group.html
  • 使用父POM的dependencyManagement和pluginManagement元素指定插件和依赖项的所有版本 您正在使用。在其他POM中省略这些版本(他们会 从父POM继承它们。
  • 我还建议对多模块构建和父POM使用不同的POM。

答案 1 :(得分:1)

如果您想共享通用接口,类,功能或组件,Maven就是您的选择。除了依赖关系管理之外,您还可以获得标准项目布局的附加功能,从而简化操作。与大多数常见的持续集成服务器和标准发布流程的轻松集成是进一步的好处。

绝对看看Maven!

答案 2 :(得分:1)

制作一个自己的JAR库绝对是一个很好的解决方案。

  • jar文件很容易通过依赖管理(maven,ivy,gradle ..)
  • 进行分发
  • jar版本
  • 使用该库的项目可以针对某个版本进行测试。否则,如果您更改enties并忘记更改依赖项目,则可能会出现问题。 - >集成测试

此致

答案 3 :(得分:0)

实体是给定对象的表示我是否正确?如果是这样,Java实现的默认机制是对象序列化 - http://en.wikipedia.org/wiki/Serialization。对于jar文件,如果实体发生更改,则每次都必须再次更改jar。这可能很乏味。

答案 4 :(得分:0)

在roo中生成一个标准的war文件..然后将它的包改为jar文件。

然后从任何标准war文件中你可以部署这个jar(我将jar用作maven依赖项)。我维护一个独特的命名applicationConext,如pizzaShop-applicationContext.xml和pizzaShop-applicationContext-jpa.xml。所以从父春项目中我可以用这种方式堆叠各种roo项目。

我还会保留他们生成的webapps文件夹,以便让生成器更容易工作。 (这意味着我必须打开pom.xml并继续将其更改回jar)。还有助于为非roo生成的war文件web.xml条目添加剪切和粘贴饲料。

似乎它可能是一个令人困惑的关于roo的问题..你可以像任何春季项目一样混合和匹配这些罐子。它们的功能类似于自包含的弹簧单元,与其他弹簧罐并排放置在同一个webapp / web.xml环境下。

它繁琐但仍然比手写春天代码更好。