如何使用IntelliJ,maven和spring-data-rest处理多个子项目?

时间:2016-08-30 12:25:03

标签: java maven intellij-idea spring-data-rest

我有两个基于Spring Framework的项目,它们共享一些通用代码。公共代码由模型和其他存储库组成。

我想拆分项目,以便我可以从一个位置管理公共代码。我还希望能够在为两个项目之一开发功能时处理公共代码(在IntelliJ中),而无需编译,上传到maven存储库或类似的东西。

据我所知,到目前为止我需要使用maven模块,但我不太明白它们是如何组合在一起的。我也担心春天的实体扫描注释

@EnableJpaRepositories(basePackages = "com.company.project1.repositories") @EntityScan(basePackages = "com.company.project1.models")

我担心如果我创建一个maven模块,或者作为另外两个项目的库的子项目,Spring将不知道如何获取这些存储库和模型。

如何在三个项目中拆分这两个项目:

  1. 对公共项目的任何更改都会自动反映在两个主要项目中
  2. 如果我在一个主要项目上工作,我需要更改公共项目,我可以从IntelliJ做到这一点,而无需打开另一个项目,编辑,编译,推送到maven存储库等等。
  3. Spring选择了其他存储库

1 个答案:

答案 0 :(得分:0)

听起来你会想要使用这种maven结构:

设有
常见
功能1
特征-2

其中feature是顶级maven项目,其他是子模块,feature-1和feature-2依赖于common生成的jar。

我不熟悉IntelliJ所以我假设IDE支持这种类型的结构。在Eclipse中,当代码发生共同变化时,feature-1和feature-2 通常可以看到它而无需进行maven构建。有时Eclipse无法识别更改,并且需要maven构建来更新缓存。