`
Inmethetiger
  • 浏览: 112015 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

在Maven下的springJpa多模块开发引起的问题

阅读更多

       最近的项目搭建中,出现了一个问题。

 

       短时间内,无法详细说明,打个比方

       比如一个项目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中检出。执行上面的步骤。如果依然不行。则切换一个工作空间试试

   

1
0
分享到:
评论
1 楼 Inmethetiger 2013-02-23  
发现我的文笔真是差得不能再差了!

相关推荐

    spring-framework-4.0.0.M3-dist.zip

    这个版本在Spring社区中引起了广泛关注,因为它引入了许多新特性和改进,为开发者带来了更好的性能和更多的功能。 首先,Spring 4.0.0.M3 强调了对Java 8的支持。Java 8的发布带来了许多新特性,如lambda表达式、流...

    pocket-SOS:使用Spring Boot开发的后端程序,程序以保护女性为主题

    《基于Spring Boot的pocket-SOS:女性安全保护的后端解决方案》 在现代信息化社会,个人...这个项目不仅展示了Spring Boot在实际开发中的应用,也为其他开发者提供了一个关注社会问题、利用技术力量改善生活的范例。

    el-admin后台管理系统-其他

    el-admin后台管理系统是一个基于 Spring Boot 2.1.0 、 Spring boot Jpa、 Spring Security、redis、Vue的前后端分离的权限管理系统,项目采用分模块开发方式, 权限控制采用 RBAC(Role-Based Access Control,基于...

    JAVA核心知识点整理(有效)

    1. 目录 1. 2. 目录 .........................................................................................................................................................1 JVM ........................

Global site tag (gtag.js) - Google Analytics