在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插件 


				org.apache.maven.plugins
				maven-remote-resources-plugin
				1.4
				
					
						lycy.app.lcp:shared-resources:${project.version}
					
				
				
					
						
							bundle
						
					
				
			

 

2:删除本地仓库中的dao。

3:在core的pom.xml中加入对dao的依赖。注意,选择来自私服上的最新版本。

 

当然,执行过程中可能还是会出问题。

这时,可以删除dao。然后重新从svn中检出。执行上面的步骤。如果依然不行。则切换一个工作空间试试

   

你可能感兴趣的:(Maven,springJpa,spring)