2

私はMavenを使用しており、ローカルリポジトリをユーザーのホームフォルダに保存しています。SSDディスクスペースを節約するために
、ユーザープロファイルをからに移動することにしましC:\Users\Danyた。D:\Users\Danyまた、Windowsレジストリのいくつかのキーを変更しました。
すべて正常に動作しますが、Mavenはアーティファクトをに保存しますC:\Users\Dany\.m2\repository

でローカルリポジトリの場所を変更する方法を知っていsettings.xmlます。
しかし、誰かがMavenの動作を説明できますか?

PS
IntelliJ IDEAは、そのデータもに保存しますC:\Users\Dany\.IntelliJIdea11

UPD
System.getProperty("user.home");はを返しますC:\Users\Dany


set USERPROFILEWindowsコマンドラインのUPD2は言いますUSERPROFILE=D:\Users\Dany

UPD3の
質問は、Javaがユーザーのホームフォルダーの場所を取得する方法についてですが、Mavenリポジトリの場所を設定する方法についてではありません

4

5 に答える 5

2

Windowsでは、Javaはレジストリからuser.homeプロパティを取得します:HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ Shell Folders \ Desktop次に、最後のフォルダーを削除します。

例:%userprofile%\ Desktop =>%userprofile%

これはJava8で修正されます(修正される予定です)。

それまでの解決策は、これを環境変数に追加することです
。_JAVA_OPTIONS:-Duser.home =%HOMEDRIVE %% HOMEPATH%

またはコマンドラインで:set _JAVA_OPTIONS = -Duser.home =%HOMEDRIVE %% HOMEPATH%

私はこのページのコメントで解決策を見ました: http ://www.timehat.com/javas-user-home-is-wrong-on-windows/

于 2014-02-06T09:54:37.297 に答える
1

質問がありました。まったく同じ問題が発生します。ここで答えを見つけました。次に、関連するバグエントリも見つけました。

于 2012-11-20T15:34:26.173 に答える
0

settings.xmlファイルをD:\ Users \ Dany.m2 \に配置し、次のようなものをsettings.xmlに配置します

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
                      http://maven.apache.org/xsd/settings-1.0.0.xsd">

  <localRepository>D:/WhatEverLocationYouWant</localRepository

</settings>
于 2012-11-18T16:23:30.467 に答える
0

まず、ホームフォルダのsettings.xmlの<localRepository>設定を更新する必要があります。

次に、新しい場所を指すようにM2_REPO環境変数を更新する必要があります。また、Maven自体を使用するか、Eclipse設定から環境変数を設定することにより、個々のEclipseプロジェクトに設定する必要がある場合があります。

于 2012-11-18T21:04:47.407 に答える
0

両方のパーティションにNTFSがある場合は、D:\ Users \ DanyからC:\ Users\Danyへのシンボリックリンクを作成できます。ソフトウェアには違いはありません。

于 2014-01-22T07:48:05.787 に答える