我用Eclipse开发Maven项目,本来好好的,但是后来莫名其妙的其中pom.xml文件报错,后来执行install命令时又编译不通过报错。我痛苦地摸索了一整天,最后才把问题解决了。虽然问题解决了,但我也不知道问题症结所在,不知道所以然,不知道我到底最后是通过哪一步有效手段搞定了问题的。下面简单叙述一下我所采用的方法。很混乱,无理由。反正就是莫名其妙地坏了,后来胡乱捣鼓,又莫名其妙地好了。
首先是pom.xml文件中第一行报错。
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
这一行被标红了,出现了莫名其妙的 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 << package>>:ui:war: : Failed to collect dependencies for [javax.servlet:servlet-api:jar: (provided),
- org.springframework:spring-core:jar: .RELEASE (compile),
- org.springframework:spring-web:jar: .RELEASE (compile),
- cglib:cglib:jar: (compile), org.springframework:spring-aop:jar: .RELEASE (compile),
- org.springframework:spring-webmvc:jar: .RELEASE (compile), org.springframework:spring- context:jar: .RELEASE (compile),
- org.freemarker:freemarker:jar: (compile), gr.imu.ntua.tweetinspire:services:jar: (compile),
- org.cloudfoundry.samples:tomcat7- standalone:tar.gz: (compile), org.slf4j:slf4j-api:jar: (compile),
- org.slf4j:slf4j-log4j12:jar: (compile), org.slf4j:jcl- over-slf4j:jar: (compile),
- commons- logging:commons- logging:jar: (compile), junit:junit:jar: ( test),
- org.springframework:spring- test:jar: .RELEASE ( test), org.dbunit:dbunit:jar: ( test)]: Failed to read artifact descriptor for org.cloudfoundry.samples:tomcat7- standalone:tar.gz: : Could not transfer artifact org.cloudfoundry.samples:tomcat7- standalone:pom: from/ to jets3t ( http://www.jets3t.org/maven2): Access denied to: http://www.jets3t.org/maven2/org/cloudfoundry/samples/tomcat7- standalone/ /tomcat7- standalone .pom, ReasonPhrase:Forbidden
解决方法一:
后面就将pom.xml中的一段依赖jdk的代码注释掉,
<dependency>
<groupId>com.sun</groupId>
<artifactId>tools</artifactId>
<version>1.5.0</version>
<scope>system</scope>
<systemPath>
D:\java\jdk\lib\tools.jar
</systemPath>
</dependency>
然后清理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)。
我通过上面的方法反复捣鼓了半天,最后终于解决问题了,调环境真是太累了。上面的表述比较混乱,因为是几周前的事了,现在才写出来。想起当初找不到解决方法时孤立无助的痛苦,觉得还是有必要写一点东西,也许会对某些人有点用。