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

本文记录了在使用Eclipse进行Maven分项目模块开发时遇到的环境配置问题,包括解决missing java.tools.jar错误、Maven clean和install的编译问题,以及在applicationContext.xml中因依赖配置导致的URL路径错误。解决方案涉及到调整Deployment Assembly设置,添加Archives from Workspace的jar包,并确保子项目提前编译完成。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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

提示missing java.tools.jar。

<dependency>  
	<groupId>com.sun</groupId>  
<span style="white-space:pre">	</span><artifactId>tools</artifactId>  
<span style="white-space:pre">	</span><version>1.5.0</version>  
<span style="white-space:pre">	</span><scope>system</scope>  
<span style="font-family: Arial, Helvetica, sans-serif;"><span style="white-space:pre">	</span>      <span style="color:#ff0000;"><systemPath>${JAVA_HOME}/lib/tools.jar</systemPath></span></span><span style="font-family: Arial, Helvetica, sans-serif;"><span style="color:#ff0000;">  </span></span>
</dependency>

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

<dependency>  
        <groupId>com.sun</groupId>  
        <artifactId>tools</artifactId>  
        <version>1.5.0</version>  
        <scope>system</scope>  
        <systemPath><span style="color:#ff0000;">/Library/Java/JavaVirtualMachines/jdk1.8.0_40.jdk/Contents/Home/lib/tools.jar</span></systemPath>  
</dependency>

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

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

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

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


<!-- action层注入配置 -->
 <import resource="classpath:com/xxx/action/xxx.xml"/>
<!-- service层注入配置 --><span style="font-family: Arial, Helvetica, sans-serif;"> </span>
<span style="font-family: Arial, Helvetica, sans-serif;">  <import resource="classpath:com/xxx/service/xxx.xml"/></span>

只是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包(子项目模块需要编译完成)



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

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


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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值