maven分项目模块开发环境调试

最近在maven分项目模块开发时eclipse环境的部署与配置遇到很多问题。直接从SVN(好吧,不是Git)检出后出现了很多问题,按着出现问题的顺序记录解决问题的过程,权作日志。

一、检出所有的项目模块后,任意选择一项目,使用 run as ——> maven clean ——> maven install 即出现编译报错问题:

提示missing java.tools.jar。

  
	com.sun  
	tools  
	1.5.0  
	system  
	      ${JAVA_HOME}/lib/tools.jar  

检查后发现标签${JAVA_HOME}无法识别,经过一番查找发现最快的解决办法是写绝对路径。如下

  
        com.sun  
        tools  
        1.5.0  
        system  
        /Library/Java/JavaVirtualMachines/jdk1.8.0_40.jdk/Contents/Home/lib/tools.jar  

本人使用OS系统。附:Mac终端查询JAVA_HOME  :/usr/libexec/java_home -V  

如下网上还有另一种方法是将JDK和JRE分开重装。原因就是JDK和JRE安装在一起导致javahome路径错误。有待亲自尝试。

二、之后按着console打印的堆栈信息一一排查问题直到解决maven clean 的问题,比如version问题等等,比较容易解决。

三、maven编译时的问题比较麻烦,因为applicationContext.xml同样的注入配置写法,



 
 
  

只是action为工程中的class文件而service为导入工程jar包,于是maven编译时便出现了问题,action编译通过而service报url路径错误:

Configuration problem: Failed to import bean definitions from URL location...

解决的办法如下图:

1、点击项目properties——>Deployment Assembly——>add ——> Archives from Workspace 添加对应项目的jar包(子项目模块需要编译完成)

maven分项目模块开发环境调试_第1张图片


2、对应添加各个组件,直至如下图(target/m2e-wtp 文件按具体项目配置增添)

maven分项目模块开发环境调试_第2张图片

3、将project-clean后maven-clean,最后maven-install。启动项目即可。


PS:之前在Deployment Assembly——>add中添加的是项目本身,导致maven编译怎么都不通过。在排除解决问题时,发现tomcat中的lib包中的项目模块是war包而非jar包(即为无法获取路径的原因)。最后直接将编译好的其它项目的jar包导入才解决问题。这样有一个注意点:在每次部署编译时,子项目必须提前编译好,否则会maven编译无法解析。注意lib包中jar包和单独class项目文件的区别。


你可能感兴趣的:(开发工具)