读书人

maven2集成struts2开发遇到的有关问题

发布时间: 2012-12-25 16:18:29 作者: rapoo

maven2集成struts2开发遇到的问题
最近到用eclipse通过maven2集成ssh开发, 当添加struts2-core的依赖时报了如下错误, 还在疑惑中...

[ERROR] Failed to execute goal on project Prjssh: Could not resolve dependencies for project com.fei.ssh:Prjssh:war:1.0-SNAPSHOT: Could not find artifact com.sun:tools:jar:1.5.0 at specified path C:\Program Files\Java\jre6/../lib/tools.jar -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/DependencyResolutionException


着实让我google了几天, 问题几天前解决了, 是因为java 运行环境(jre)的问题, 在java的安装目录下面有两个j一样的jre, 但是eclipse启动的时候用的C:\Program Files\Java\jdk1.6.0_21\jre, 而工程build path用的是C:\Program Files\Java\jre6, 虽然他们一样,但是互相引用不到, 把它们设置一至的就可以把问题解决 <dependency> <groupId>com.sun</groupId> <artifactId>tools</artifactId> <version>1.5.0</version> <scope>system</scope> <systemPath>${java.home}/../lib/tools.jar</systemPath> </dependency>

xml定义中用到了${java.home},所以,找到eclipse的安装目录,找到下面的eclipse.ini,

在eclipse的启动参数中加了以下一句:-vm
E:\jdk1.6\bin\javaw.exe,表明你想使用的JDK。重新启动eclipse,发现仍然不行,不过报的是JRE的错,查看 eclipse的JRE设置,发现用的是另外一个JRE,更改为E:\jdk1.6\jre1.6,重启eclipse后,错误解决。

注:有的时候,即使在eclipse.ini中设置了启动时用的JDK,实际上用的JDK也未必是这个,可以用一个工具procexp.exe来查看到底用的是哪个。

引用自 http://icemoon.iteye.com/blog/95835

要注意eclipse到底用的是哪个jre, 注意jre与jdk的区别

读书人网 >编程

热点推荐