2012-01-25 53 views
3

Netbeansでは常に正常に動作していますが、6.9から7.1へのアップグレードはうまくいかなかったMavenプロジェクトがあります。私は次のエラーを取得する:アンロード可能なNetbeansプロジェクト(ローカルリポジトリでは使用できません)

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

私はかなりよく、別の男のための問題ではなく、「リロードPOM」は動作しません使用しての提案を説明し、またmvn validateを行いNetbeansのために、このbug ticketを見つけました。

ここにはいくつか混乱している項目があります。

  • コマンドラインで動作します。
  • 私の同僚は、(すべての指示によって)同一の設定で、NB 7.1でこのプロジェクトを実行します。
  • Netbeansの内部にビルドする(ビルドは成功します)
  • エラーダイアログで提供された「プライムビルド」ボタンを使用すると、成功したビルドが開始されます。
  • ファイルはではないがありません!それは地元のレポにあります!まさに私はそれを期待したいところ:.m2 /リポジトリ/ fooの/バー、親/ 1.0.1 /バー-親1.0.1.pom

Maven POM introページによると、relativePath属性があることをあります親POM /プロジェクトが通常とは異なる場所(「normal」は「../pom.xml」)にある場合に使用されます。

私の場合、私の親プロジェクトは実際にはであり、ポームはで、リポジトリを除く(ローカルおよびリモート)はどこにも存在しません。ローカルに存在しない場合でも、Netbeansを修正するセカンダリの「オンライン」ビルドを実行することが期待されますが、そうはしません。

ある時点で、私は手動でNetbeansの外でpomファイルを変更し、NB内のプロジェクト自体が修正されました。私は手動でサブプロジェクトを修正して同じように修正しましたが、修正は持続しませんでした。数分後、 "[読み込み不可能な]"モニカが戻ってきましたが、いつ、いつ返ってきたのか正確にはわかりません。

私は、NetBeansのすべてのバージョンを削除して7.1を再インストールして、私のマシンに.m2/repositoryをコピーし、私の.m2/repositoryフォルダを削除する、私の~/.netbeans*フォルダを削除、バンドルv3.0.3 Mavenの、私の外部V3.0.2のMavenを使って試してみましたプロジェクトとアプリケーションを閉じて再オープンすると、通常のBuildClean and BuildオプションとエラーダイアログのPrime Buildオプションの両方を使ってNetbeansにプロジェクトをビルドさせ、コマンドラインで最初からビルドを実行しますthen Netbeansにインポートする、それらの任意の組み合わせ、および何も問題にはならない。

今のところ、私は6.9.1にダウングレードしていますが、私はこの仕事をするために何か他のものがあるかどうかを知りたいです。

答えて

2

アップデート:私は、私がコメント/ "リポジトリ" セクションを削除するとそれは、NetBeans 7.xの

で動作するようになりました:(

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

...あまりにも私のsettings.xmlを設定しました:

* CLI (3.0-3) build isn't working 
* NetBeans 7.x build is working, the project looks like good 
:私は削除した場合

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

/"ミラー" のセクションをコメント

したがって、pom.xmlの変更は必要ありません。IMHO ... :)

+0

私は自分のリポジトリをパージし、別の開発者のsettings.xmlを盗んだので、問題は解決しました。しかし、何らかの理由でsettings.xmlで十分ではありませんでした。帯域幅を節約するために私の古いリポジトリを再起動してください。 Gáborのおかげでよろしく! – inanutshellus

1

pom.xmlのヘッダとは何ですか? MavenのCLIは、あまりにもそれらの両方、NetBeansの6.xのを構築します...しかし、NetBeansの7.xが最初のものだけを構築

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

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

:私はこれにそれを変更しました

+0

マインはあなたの新しいバージョンとすでに一致しています。古い質問を投稿してくれてありがとう...私はまだここで聞いています(まだ6.9.1にあります)! – inanutshellus

1

私のリポジトリからプロジェクトのpom.xmlの上の1つのディレクトリレベルにpom.xmlファイルをコピーし、pomに名前を変更する必要がありました.xml。理想的ではありませんが、うまくいった

1

(レポ・グループを使用してArchiva、)私の内部のリポジトリをクリーンアップしようとした後にNetBeans 7.1を実行しているとき、私は私のsettings.xmlを簡素化し、その後、私のプロジェクトに親POMの追加、説明のエラーを見ました。

私のプロジェクトで親POM参照を削除すると、問題は解決します。

私は有効なリポジトリのセクションで自分のsettings.xmlでアクティブなプロファイルが含まれている場合、問題が消えます。

私は私のプロジェクトPOM内の有効なリポジトリのセクションが含まれている場合、問題が消えます。

私の親POMはマルチモジュールプロジェクトのルートではありません。他の依存関係と同様に、単にリポジトリから引き出されます。私はそれを試すことができる親と一緒にマルチモジュールプロジェクトを持っていません。

mavenは、私のプロジェクトを(親POMの場合でも)その設定なしでコマンドラインからビルドして配置しますが、NetBeans自体にはどこかで定義されたリポジトリセクションが必要なようです。

Netbeansがどのように子プロジェクトを処理するかについてのバグと思われます。私の推測では、親(../pom.xml)のデフォルトの場所を探していて、それが見つからないときは、定義されたリポジトリ内でそれを探します。それは定義されていないので、それは窒息する。

Netbeansのは、親POMを検索しようとしたときに設定ミラーを無視しているようです。

関連する問題