找不到父:org.sonatype.oss:项目POM的oss-parent

时间:2014-08-20 15:00:36

标签: maven pom.xml

我执行了这个命令

 mvn compile exec:java -Dexec.classpathScope=compile-Dexec.mainClass=trident.MyClass

并收到此错误

[INFO] Error 
building POM (may not be this project's POM). 
Project ID:org.clojure:clojure:jar:1.4.0 
Reason: Cannot find parent: org.sonatype.oss:oss-parent for project:    
org.clojure:clojure:jar:1.4.0 for project org.clojure:clojure:jar:1.4.0

这里是Pom文件

 <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/xsd/maven-4.0.0.xsd"> 
         <repositories>
             <repository> 
                   <id>clojars.org</id>
                   <url>http://clojars.org/repo</url>
             </repository>
             <repository>
                   <id>github-releases</id>
                   <url>http://oss.sonatype.org/content/repositories/github-
                    releases/</url>  
             </repository> 
          </repositories>
             <plugin> 
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin </artifactId> 
                    <configuration> 
                             <source>1.6</source>
                             <target>1.6</target> 
                    </configuration>
             </plugin> 
  </project>

1 个答案:

答案 0 :(得分:2)

所以我今天遇到了同样的错误,虽然我收到错误的项目是不同的:

Reason: Cannot find parent: org.sonatype.oss:oss-parent

我发现这篇文章已有5个月了,但我发布的解决方案对我有用,以防其他人偶然发现同一个Stack Overflow链接。

所以问题不在于你的org.clojure:clojure:jar:1.4.0项目或它的POM文件。它与父项目oss.sonatype.pom有关。在我的例子中,当我创建了本地的oss.sonatype-.pom时返回了403。这些是内容:

<html>
<head><title>301 Moved Permanently</title></head>
<body bgcolor="white">
<center><h1>301 Moved Permanently</h1></center>
<hr><center>nginx</center>
</body>
</html>

现在,当Maven试图建立你的项目时; org.clojure将要求oss.sonatype POM&amp;当它无法读取oss.sonatype.pom作为有效的POM文件时;它会抛出你看到的错误:

  

[INFO]构建POM时出错(可能不是此项目的POM)。   项目ID:&lt; ...&gt;

     

原因:无法找到父:org.sonatype.oss:项目的oss-parent:

经过一些阅读后,似乎最近这些存储库对其URL进行了更改(从HTTP移动到HTTPS),因此如果通过HTTP调用任何其他POM或构建oss.sonatype,则403已返回HTML文件。

因此,快速的解决方法是前往Maven Central,&amp;从他们的存储库&amp;获取所需版本的oss.sonatype.pom文件用它替换你的本地版本。那么你的Maven版本就不会失败,父母找不到&#39;。

修复方法是测试您的网址以检查哪些网址无效。 希望这会有所帮助。