2012-11-16 53 views
2

了Eclipse的Juno,行家2.2.1和m2eclipse的在Red Hat Linux平臺上運行...Maven POM文件錯誤 - 無法找到父母的新澤西

下載一個簡單的例子來構建RESTful的Hello World Web服務(它適用於我的OS X電腦),但出於某種奇怪的原因,它不適用於我的Linux機器。

這裏的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"> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>com.mkyong.common</groupId> 
    <artifactId>RESTfulExample</artifactId> 
    <packaging>war</packaging> 
    <version>1.0-SNAPSHOT</version> 
    <name>RESTfulExample Maven Webapp</name> 
    <url>http://maven.apache.org</url> 

    <repositories> 
     <repository> 
     <id>maven2-repository.java.net</id> 
     <name>Java.net Repository for Maven</name> 
     <url>http://download.java.net/maven/2/</url> 
     <layout>default</layout> 
     </repository> 
    </repositories> 

    <dependencies> 
     <dependency> 
      <groupId>junit</groupId> 
      <artifactId>junit</artifactId> 
      <version>4.8.2</version> 
      <scope>test</scope> 
    </dependency> 

    <dependency> 
     <groupId>com.sun.jersey</groupId> 
     <artifactId>jersey-server</artifactId> 
     <version>1.8</version> 
    </dependency> 

</dependencies> 

<build> 
    <finalName>RESTfulExample</finalName> 
    <plugins> 
     <plugin> 
      <artifactId>maven-compiler-plugin</artifactId> 
      <configuration> 
       <source>1.6</source> 
       <target>1.6</target> 
      </configuration> 
     </plugin> 
    </plugins> 
</build> 
</project> 

當我嘗試發出MVN在命令行編譯:

[INFO] Scanning for projects... 
[INFO] ------------------------------------------------------------------------ 
[INFO] Building RESTfulExample Maven Webapp 
[INFO] task-segment: [compile] 
[INFO] ------------------------------------------------------------------------ 
[INFO] [resources:resources {execution: default-resources}] 
[WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform dependent! 
[INFO] Copying 0 resource 
[INFO] ------------------------------------------------------------------------ 
[ERROR] BUILD ERROR 
[INFO] ------------------------------------------------------------------------ 
[INFO] Error building POM (may not be this project's POM). 

Project ID: null:jersey-server:bundle:null 

Reason: Cannot find parent: com.sun.jersey:jersey-project for project: null:jersey -server:bundle:null for project null:jersey-server:bundle:null 


[INFO] ------------------------------------------------------------------------ 
[INFO] For more information, run Maven with the -e switch 
[INFO] ------------------------------------------------------------------------ 
[INFO] Total time: < 1 second 
[INFO] Finished at: Thu Nov 15 17:07:16 PST 2012 
[INFO] Final Memory: 8M/309M 
[INFO] ------------------------------------------------------------------------ 

有沒有人遇到這個問題?我不明白它是如何在我的OS X計算機上工作的,但不在Linux上(我認爲這不是問題)。

感謝您花時間閱讀本文。

回答

4

我會完全刪除您的pom.xml文件中的整個repositories元素。這樣maven將使用標準的中央資源庫。然後將球衣服務器的版本更改爲1.15(最新版本)。

在java.net庫中最新的球衣的日期是2011年8月,而標準中央Maven倉庫約會了10月30日2012年

我懷疑版本1.15,它的作品一臺機器上的原因,而不是其他在你的〜/ .m2/repository緩存中,你在一臺機器上有很好的緩存文件,但是在另一臺機器上沒有。可能需要刪除整個〜/ .m2/repository/com/sun/jersey層次並重建。您可能在那裏損壞了文件。

+0

是的,刪除存儲庫部分並設置版本爲1.15是它的工作原理!非常感謝! –