2

含まれている Maven との NetBeans の相互作用、具体的には、NB が「バンドルされた」maven の場所をどのように認識しているか、maven がそのローカルリポジトリの場所をどのように認識しているか、つまり、どの構成ファイルでこれらがキャプチャされているかを理解しようとしています。

これは、Win7 上の現在の NetBeans (32 ビット) 7.2 のデフォルト インストールです。インストールでは、M2_HOME 環境変数も PATH のエントリも設定されませんでした。

「バンドルされた」maven の場所

  • NetBeans Tools > Options > Java > Maven Home が「Bundled」に設定されています -- どこかで「Bundled」という単語が何らかのパスにマップされていると思いますが、そのマッピングはどこにあるのでしょうか? (grep では何も表示されませんでした。)

  • NetBeans が Maven を実行すると、驚いたことに、C:\Program Files (x86)\NetBeans 7.2\java\maven にある Maven インストールを実行せず、代わりに Maven の完全なコピーを実行するという出力ウィンドウ情報が表示されます。 C:\Users[ユーザー]\AppData\Roaming\NetBeans\7.2\maven (\bin\mvn.bat) にあります。

明らかにそれが「バンドル」が指しているものです-しかし、NBのツリーの下にProgram Filesの下に既に含まれているのに、なぜこの複製されたmavenファイルツリーがあるのでしょうか?

(FWIW、M2_HOME が設定されていない場合、mvn.bat は M2_HOME を mvn.bat の親ディレクトリに設定するため、M2_HOME 自体は説明されていますが、NB が「バンドル」= mvn.bat へのそのパスをどのように決定したかは説明されていません。)

Maven のリポジトリの場所

  • Maven ローカル リポジトリは予想どおり C:\Users[user].m2 にありますが、これはどこで指定されているのでしょうか?

Bundled パスと repo パスがハードコードされているとは信じられないので、これらのパスをキャプチャする構成ファイルがどこかにあると思いますが、それがどこにあるか知りたいです!

ところで、レポ パスは maven\conf\settings.xml でオーバーライドできることを認識しています。現在、これにはコメントしかないため、何の影響もありません。

手がかりをありがとう。

4

3 に答える 3

3

NetBeans 7.2.1 を使用しています

少しハッキングが必要でしたが、

  1. NetBeans アプリケーションをシャットダウンする
  2. %AppData%\Roaming\NetBeans\7.2.1\config\Preferences\org\netbeans\modules\maven\repositories に移動します
  3. central.properties と local.properties の 2 つのファイルがあるはずです。local.properties に次の行を追加します。

===

local=D:/repo/
localRepositoryPath=D:/repo/
localRepository=D:/repo/
localPath=D:/repo/
path=D:/repo/

少なくとも 1 つのエントリが正しい xD であると確信しています。NetBeans は不正なエントリを無視します。インデックスを再作成すると消えますが、NetBeans はとにかくそれを覚えています。

于 2013-05-12T12:07:37.210 に答える
0

NBに埋め込まれたMavenは、制御が難しい場合や、まったく機能しない場合があります。自分でMavenをインストールすることをお勧めします。

http://maven.apache.org/download.html

インストール後、NBに移動して、新しいMavenがインストールされている場所を伝えます。

Mavenローカルリポジトリは期待どおりC:\ Users [user] .m2にあるようですが、これもどこで指定されていますか?

これはデフォルト設定です。詳細については、時間をかけてここで例を読んでください。

于 2012-10-27T10:59:06.573 に答える