我有两个基于Spring Framework的项目,它们共享一些通用代码。公共代码由模型和其他存储库组成。
我想拆分项目,以便我可以从一个位置管理公共代码。我还希望能够在为两个项目之一开发功能时处理公共代码(在IntelliJ中),而无需编译,上传到maven存储库或类似的东西。
据我所知,到目前为止我需要使用maven模块,但我不太明白它们是如何组合在一起的。我也担心春天的实体扫描注释
@EnableJpaRepositories(basePackages = "com.company.project1.repositories")
@EntityScan(basePackages = "com.company.project1.models")
我担心如果我创建一个maven模块,或者作为另外两个项目的库的子项目,Spring将不知道如何获取这些存储库和模型。
如何在三个项目中拆分这两个项目:
答案 0 :(得分:0)
听起来你会想要使用这种maven结构:
设有
常见
功能1
特征-2
其中feature是顶级maven项目,其他是子模块,feature-1和feature-2依赖于common生成的jar。
我不熟悉IntelliJ所以我假设IDE支持这种类型的结构。在Eclipse中,当代码发生共同变化时,feature-1和feature-2 通常可以看到它而无需进行maven构建。有时Eclipse无法识别更改,并且需要maven构建来更新缓存。