最近的项目搭建中,出现了一个问题。
短时间内,无法详细说明,打个比方
比如一个项目A,分为a1,a2,a3,a4 等4个模块。各个模块又分为domain+dao, service ,controller+jsp。此外,还有一个共享模块c1用来存放配置文件,一个父模块,用来进行依赖包的管理。
所有公用的配置文件,如applicationContext.xml。servlertname-servlet.xml等放在公关模块c1下。相当于,共有17个模块,模块之间可以互相调用接口。
其中domain+dao采用的spring jpa模式,因为开发比较快捷,如果了解spring jpa的人应该知道,spring jpa会将持久化的一些配置放到META-INF/persistence.xml下。所以,在写dao的时候,还是要在dao的模块下加入META-INF的。
但是,在写service 的时候,任何配置都是不需要的。因为,service只是调用dao的接口,但是问题出现了。虽然在pom.xml中引入了dao的包。而且程序也没有报错。但是执行单元测试的时候,总是出现问题。主要提示就是dao中的domain不是一个entity。也就是说,无法访问到dao中的domain。
最后,解决的情况如下。
1:使用公共资源共享的Maven插件
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-remote-resources-plugin</artifactId> <version>1.4</version> <configuration> <resourceBundles> <resourceBundle>lycy.app.lcp:shared-resources:${project.version}</resourceBundle> </resourceBundles> </configuration> <executions> <execution> <goals> <goal>bundle</goal> </goals> </execution> </executions> </plugin>
2:删除本地仓库中的dao。
3:在core的pom.xml中加入对dao的依赖。注意,选择来自私服上的最新版本。
当然,执行过程中可能还是会出问题。
这时,可以删除dao。然后重新从svn中检出。执行上面的步骤。如果依然不行。则切换一个工作空间试试
相关推荐
这个版本在Spring社区中引起了广泛关注,因为它引入了许多新特性和改进,为开发者带来了更好的性能和更多的功能。 首先,Spring 4.0.0.M3 强调了对Java 8的支持。Java 8的发布带来了许多新特性,如lambda表达式、流...
《基于Spring Boot的pocket-SOS:女性安全保护的后端解决方案》 在现代信息化社会,个人...这个项目不仅展示了Spring Boot在实际开发中的应用,也为其他开发者提供了一个关注社会问题、利用技术力量改善生活的范例。
el-admin后台管理系统是一个基于 Spring Boot 2.1.0 、 Spring boot Jpa、 Spring Security、redis、Vue的前后端分离的权限管理系统,项目采用分模块开发方式, 权限控制采用 RBAC(Role-Based Access Control,基于...
1. 目录 1. 2. 目录 .........................................................................................................................................................1 JVM ........................