天天看点

Maven项目中pox.xml文件报错以及项目编译错误

我用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  ,可以先尝试这里的解决方法。)

Maven项目中pox.xml文件报错以及项目编译错误

后面pom.xml的问题解决了,但是编译(执行命令:mvn install)的时候,又报错

  1. Failed to execute goal on project ui:
  2. Could not resolve dependencies for project << package>>:ui:war: : Failed to collect dependencies for [javax.servlet:servlet-api:jar: (provided),
  3. org.springframework:spring-core:jar: .RELEASE (compile),
  4. org.springframework:spring-web:jar: .RELEASE (compile),
  5. cglib:cglib:jar: (compile), org.springframework:spring-aop:jar: .RELEASE (compile),
  6. org.springframework:spring-webmvc:jar: .RELEASE (compile), org.springframework:spring- context:jar: .RELEASE (compile),
  7. org.freemarker:freemarker:jar: (compile), gr.imu.ntua.tweetinspire:services:jar: (compile),
  8. org.cloudfoundry.samples:tomcat7- standalone:tar.gz: (compile), org.slf4j:slf4j-api:jar: (compile),
  9. org.slf4j:slf4j-log4j12:jar: (compile), org.slf4j:jcl- over-slf4j:jar: (compile),
  10. commons- logging:commons- logging:jar: (compile), junit:junit:jar: ( test),
  11. 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)。

Maven项目中pox.xml文件报错以及项目编译错误

解决方法三:

如果上面的解决方法还没有解决问题,可以查看一下 C:\Users\Y480\.m2 (Y480是我的计算机用户名,具体目录看你自己的项目目录)目录下是否有一个settring.xml文件。要是有的话,把它删掉。(没问题的。你要是担心,就把它拷到其他地方备份吧。)然后清理Eclipse项目(Project-->clean)。

我通过上面的方法反复捣鼓了半天,最后终于解决问题了,调环境真是太累了。上面的表述比较混乱,因为是几周前的事了,现在才写出来。想起当初找不到解决方法时孤立无助的痛苦,觉得还是有必要写一点东西,也许会对某些人有点用。