2012-01-25 83 views
3

我有一個在Netbeans中一直正常工作的Maven項目,但是從6.9升級到7.1並不好。我得到以下錯誤:Unloadable Netbeans項目(pom在本地存儲庫中不可用)

1 problem was encountered while building the effective model for foo.bar:baz:1.0.0 [FATAL] Non-resolvable parent POM: The repository system is offline but the artifact foo:bar-parent:pom:1.0.1 is not available in the local repository. and 'parent.relativePath' points at wrong local POM @ line 12, column 13 for project foo.bar:baz:1.0.0 at /Users/me/workspace/pom.xml

我發現這個bug ticket針對NetBeans是相當不錯描述問題和另一個男人,但使用「刷新POM」不工作的建議,也沒有mvn validate

這裏有幾個令人困惑的項目。

  • 在命令行上運行。
  • 我的同事在相同(通過所有指示)設置下,在NB 7.1上運行此項目。
  • Netbeans工程內建築(構建成功)
  • 使用提供的錯誤對話框中的「Prime Build」按鈕可啓動構建成功。
  • 該文件是不是失蹤!它已經(並已經)在當地回購!正是我希望它:.m2目錄/庫/富/酒吧父/ 1.0.1 /扎家長1.0.1.pom

按照Maven POM intro頁面中,relativePath屬性是要當你有一個父POM /項目位於不同於正常位置(其中「正常」是「../pom.xml」)時使用。

在我的情況下,我的父項目實際上是只是一個pom,除了在本地和遠程存儲庫之外,它不能存在於任何地方。即使它本地不存在,我也希望做一個次要的「在線」構建(如建議)將修復Netbeans,但事實並非如此。

在某一時刻,我手動將我的pom文件更改爲Netbeans之外,NB內部的項目自行修復。我用相同的方法手動修改了子項目,以使它們能夠正常工作,但修復程序沒有持續。幾分鐘後,「[unloadable]」綽號返回,但我不知道究竟是什麼時候或什麼導致它返回。

我使用捆綁v3.0.3 Maven的,我的外部V3.0.2的Maven,刪除我的~/.netbeans*文件夾,刪除我的.m2/repository文件夾試過,複製.m2/repository我的機器,刪除的Netbeans的所有版本並重新安裝7.1 ,關閉並重新打開項目和應用程序,讓Netbeans使用正常的Build,Clean and Build選項以及錯誤對話框中的Prime Build選項從頭開始構建項目,在命令行上從頭開始構建,然後從導入Netbeans ,它們的任何和所有組合,而且似乎沒有關係。

現在我降級到6.9.1,但我很想知道是否還有別的東西可以嘗試做這個工作。

回答

2

更新:我已經把我的settings.xml太... :(

<mirrors> 
    <mirror> 
    <id>javaforum</id> 
    <url>http://nexus.javaforum.hu/nexus/content/groups/public/</url> 
    <mirrorOf>*</mirrorOf> 
    </mirror> 
</mirrors> 
<profiles> 
    <profile> 
    <id>default</id> 
    <activation> 
     <activeByDefault>true</activeByDefault> 
    </activation> 
    <repositories> 
     <repository> 
     <id>javaforum</id> 
     <url>http://nexus.javaforum.hu/nexus/content/groups/public/</url> 
     <releases> 
      <enabled>true</enabled> 
     </releases> 
     <snapshots> 
      <enabled>true</enabled> 
     </snapshots> 
     </repository> 
    </repositories> 
    </profile> 
</profiles> 

現在它與NetBeans 7.x中

如果我刪除/發表評論的 「庫」 部分:

* CLI (3.0.3) build is working 
* NetBeans 7.x build is working but the project is "unloadable" 

如果我刪除/發表評論 「鏡像」 部分:

* CLI (3.0-3) build isn't working 
* NetBeans 7.x build is working, the project looks like good 

因此,pom.xml的修改是沒有必要的恕我直言...... :)

+0

我清除了我的存儲庫,並偷走了另一個開發人員的settings.xml,並將問題清除。儘管如此,settings.xml還是不夠的,出於某種原因。重新啓用舊的存儲庫以節省帶寬(這是一個大小演出),導致問題返回!感謝Gábor的幫助! – inanutshellus

1

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"> 

<project 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"> 

Maven的CLI建立兩者上,NetBeans 6.x的太...但NetBeans的7.x的建立只有第一個。

+0

礦已經匹配您的新版本。感謝您在較老的問題上發帖...我仍然在這裏聽(仍然在6.9.1)! – inanutshellus

1

我結束了不得不復制pom.xml文件從我的repo到我的項目的pom.xml上的一個目錄級別並重命名爲pom .XML。不理想,但它的工作。

1

在嘗試清理我的內部存儲庫(Archiva,使用repo組)後,運行NetBeans 7.1.x時,看到了描述的錯誤,簡化了我的settings.xml,然後向我的項目添加了父POM。

如果我刪除項目中的父POM參考,問題就會消失。

如果我在包含有效的存儲庫部分的settings.xml中包含活動配置文件,問題就會消失。

如果我在項目POM中包含有效的存儲庫部分,問題就會消失。

我的父母POM不是多模塊項目的根。它只是像任何其他依賴項一樣從存儲庫中提取。我沒有一個可以嘗試使用的父項目的多模塊項目。無論如何,maven在沒有該設置的情況下從命令行構建和部署我的項目(即使使用父POM),但NetBeans本身似乎需要在某處定義的存儲庫部分。

在我看來,這是Netbeans如何對待兒童項目的一個錯誤。我的猜測是,它正在尋找父母的默認位置(../pom.xml),當它找不到它時,試圖在定義的存儲庫中查找它。由於它沒有定義,它扼殺。

當試圖找到父POM時,Netbeans似乎忽略鏡像設置。

相關問題