目前的项目结构是
-project
├module A 微服务
├module B 微服务
└module C PO等公用模块
目前AB在设想上都是可以独立运行的程序,但是两个模块中有部分entity( Jpa的orm对象 )是一模一样的(因为操作了相同的数据库表)
所以想用C模块来封装这些相同部分为公用模块
请问具体要怎么配置pom文件?
目前的项目结构是
-project
├module A 微服务
├module B 微服务
└module C PO等公用模块
目前AB在设想上都是可以独立运行的程序,但是两个模块中有部分entity( Jpa的orm对象 )是一模一样的(因为操作了相同的数据库表)
所以想用C模块来封装这些相同部分为公用模块
请问具体要怎么配置pom文件?
创建新的maven工程,添加需要的依赖。让A
和 B
都 依赖它。在这个工程里面定义好entity
,repository
等等。
A
和 B
工程中的JPA配置其实没啥变化,只是修改Repository
和 entity
包的路径就行。
@EnableJpaRepositories(basePackages = {"xxxx"})
@EntityScan(basePackages = {"xx"})
那模块C的dependencies呢?因为Jpa,validation等都是需要依赖的,请问是根据需要正常加吗?
嗯,是的。正常添加 ,需要啥就添加啥。你可能是担心一个问题。C
模块依赖了 E
这个库,但是B
模块不依赖E
。B
导入了 C
后传递依赖了 E
。你可以在C
模块中 ,把依赖的scope设置成 provided
。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
<scope>provided</scope>
</dependency>
明白