2013-08-09 13 views
5

私のマシン上でMavenが正しく動作しない理由を知りました。何らかの理由で完全に間違った場所からユーザー構成を読み込みます。そして、なぜ私は理解していない。それは通常べきのようなD:\.m2からMavenが間違った場所からユーザー設定を読み込む

[DEBUG] Reading global settings from D:\dev\maven\active\conf\settings.xml 
[DEBUG] Reading user settings from D:\.m2\settings.xml 
[DEBUG] Using local repository at D:\dev\maven_repo 

なぜそれが読んでいるユーザーの設定ではなく、私の実際のユーザーディレクトリ:私は、私は最初に次のような出力を得る-XスイッチとMavenを実行すると?私の古いコンピュータでうまくいきました。今回は別のドライブにmavenをインストールしたことが私と関係がありますか?私の古いコンピュータでは、Cドライブにインストールされていました。

これはどこから得ますかD:\.m2?実際のデフォルトの場所である%userprofile%\.m2からユーザー設定ファイルを読み取るにはどうすればよいですか?

+1

'echo%HOMEPATH%'は何を返しますか? –

+3

どのバージョンのMaven(2または3)? M2_HOME env変数の値が設定されていれば、それは何ですか? – Michael

+0

Maven 3、 'M2_HOME' =' D:\ dev \ java \ active' – Svish

答えて

6

最後にそれです。解決策はthis blog postにあります。 Javaでのホームディレクトリを検索するには、次の操作を行います。

System.getProperty("user.home"); 

問題は、いくつかのダムの理由で、Javaはこのパスを見つけるために、Windows環境変数またはそのようなものを使用していませんさ。実際には、Desktopディレクトリの親ディレクトリを使用します。別のドライブ(ドキュメント、ダウンロード、音楽、デスクトップなど)に自分のユーザーディレクトリの特定のメインフォルダを保存するのが好きなので、デスクトップディレクトリをD:\Desktopに移動しました。 Javaはそのディレクトリをとり、1つ上のレベルに進み、Mavenや他のJavaアプリケーションのものをD:\が私のホームディレクトリにする。

私がJavaを使うほど、私はそれを憎むほどです...とにかく、うまくいけば、これは誰かのために頭を掻く時間を節約するのに役立ちます。

関連する問題