我用Eclipse开发Maven项目,本来好好的,但是后来莫名其妙的其中pom.xml文件报错,后来执行install命令时又编译不通过报错。我痛苦地摸索了一整天,最后才把问题解决了。虽然问题解决了,但我也不知道问题症结所在,不知道所以然,不知道我到底最后是通过哪一步有效手段搞定了问题的。下面简单叙述一下我所采用的方法。很混乱,无理由。反正就是莫名其妙地坏了,后来胡乱捣鼓,又莫名其妙地好了。
首先是pom.xml文件中第一行报错。
这一行被标红了,出现了莫名其妙的 Multiple annotations found at this line:Missing artifact org.mortbay.jetty:jet等一大长串错误。(和这个错误一样:http://www.myexception.cn/web/1501238.html ,可以先尝试这里的解决方法。)
后面pom.xml的问题解决了,但是编译(执行命令:mvn install)的时候,又报错
Failed to execute goal on project ui:
Could not resolve dependencies for project <>:ui:war:1.0: Failed to collect dependencies for [javax.servlet:servlet-api:jar:2.5 (provided),
org.springframework:spring-core:jar:3.0.5.RELEASE (compile),
org.springframework:spring-web:jar:3.0.5.RELEASE (compile),
cglib:cglib:jar:2.2 (compile), org.springframework:spring-aop:jar:3.0.5.RELEASE (compile),
org.springframework:spring-webmvc:jar:3.0.5.RELEASE (compile), org.springframework:spring-context:jar:3.0.5.RELEASE (compile),
org.freemarker:freemarker:jar:2.3.18 (compile), gr.imu.ntua.tweetinspire:services:jar:1.0 (compile),
org.cloudfoundry.samples:tomcat7-standalone:tar.gz:7.0.29 (compile), org.slf4j:slf4j-api:jar:1.6.1 (compile),
org.slf4j:slf4j-log4j12:jar:1.6.1 (compile), org.slf4j:jcl-over-slf4j:jar:1.6.1 (compile),
commons-logging:commons-logging:jar:1.1.1 (compile), junit:junit:jar:4.8.1 (test),
org.springframework:spring-test:jar:3.0.5.RELEASE (test), org.dbunit:dbunit:jar:2.4.8 (test)]: Failed to read artifact descriptor for org.cloudfoundry.samples:tomcat7-standalone:tar.gz:7.0.29: Could not transfer artifact org.cloudfoundry.samples:tomcat7-standalone:pom:7.0.29 from/to jets3t (http://www.jets3t.org/maven2): Access denied to: http://www.jets3t.org/maven2/org/cloudfoundry/samples/tomcat7-standalone/7.0.29/tomcat7-standalone-7.0.29.pom, ReasonPhrase:Forbidden
解决方法一:
后面就将pom.xml中的一段依赖jdk的代码注释掉,
D:\java\jdk\lib\tools.jar
然后清理Eclipse项目(点击Eclipse编辑器中的Project, 然后点击clean),再将上面这段代码的注释取消掉。
解决方法二:
如果以上方法还没有解决问题,还可以尝试关闭maven项目在项目启动时自动下载更新仓库选项。操作方法如下:
点击Eclipse中的window菜单,选择Preferences,点击左侧的Maven ,然后去掉Download repository index updates on startup选项前面的对勾,然后清理Eclipse项目(Project-->clean)。
解决方法三:
如果上面的解决方法还没有解决问题,可以查看一下 C:\Users\Y480\.m2 (Y480是我的计算机用户名,具体目录看你自己的项目目录)目录下是否有一个settring.xml文件。要是有的话,把它删掉。(没问题的。你要是担心,就把它拷到其他地方备份吧。)然后清理Eclipse项目(Project-->clean)。
我通过上面的方法反复捣鼓了半天,最后终于解决问题了,调环境真是太累了。上面的表述比较混乱,因为是几周前的事了,现在才写出来。想起当初找不到解决方法时孤立无助的痛苦,觉得还是有必要写一点东西,也许会对某些人有点用。