maven多工程应用,spring MAVEN多个子模块之间的调用

1、ps系统中有两个模块ps-admin和ps-service,ps-admin负责前台展示,ps-service负责后台数据处理,ps的多模块部署pom.xml配置如下:


  4.0.0
  com.suning.search
  ps
  pom  
  ps-parent  
  0.0.1-SNAPSHOT
 
  ps-admin
  ps-service
 

 
   
         
           junit
           junit
           3.8.1
           test
       

   
 
 



2、ps-service作为ps-admin的依赖,pom.xml设置时应该打包为jar包


3、ps-admin引用ps-service中的接口时,只需加上ps-service的依赖即可,ps-admin的pom.xml配置如下


        com.suning.search    
        ps-service    
        ${project.version}    
   



遇到的问题以及解决方案:

用了上面的依赖以后本以为ps-admin系统已经可以调用ps-service中的URL接口进行redis和hbase的访问了,但是会报错。

报错1:找不到定义redis和hbase的bean

解决方案:由于redis和hbase的bean是用xml文件定义的,所以将redis和hbase的xml配置文件都考到ps-admin系统中,并在SpringMVC-servelet.xml中引用。


报错2:引用了以上的文件又发现了一个问题:ps-admin中没有com.suning.controller这个包,而ps-service中有com.suning.controller这个包,且ps-service有一个URL的拦截方法写在

com.suning.controller.BaseServiceController.java这个类中即

@RequestMapping(value = "/redis111.json", produces = "application/json; charset=UTF-8")
public void getRedisData(@RequestParam("value") String value, HttpServletResponse response)

       {...}


当ps-admin系统访问ps-service中的/redis111.json这个URL时页面会报404无法找到这个URL。


解决方案:

在ps-admin系统中增加com.suning.controller这个包,且在SpringMVC-servelet.xml中增加

这样就可以访问ps-service系统中的/redis111.json这个URL了。

你可能感兴趣的:(各种坑)