2017-06-26 18 views
0

実際のパスを入力するのではなく、環境変数を使用してMavenホームを指しているとします。私はmavenVersion.xmlアイデアで"$env.M2_HOME$"を使用すると、ファイルのロード時にそれを得るようだ:アイデア設定で環境変数を使用する方法

<application> 
    <component name="MavenVersion" mavenHome="$env.M2_HOME$" /> 
</application> 

を私はBuild, Execution, Deployment -> Build Tools -> Mavenで拡張値を見ることができます - > Mavenのホームディレクトリ。

...しかし、アイデアは、その設定を保存することを決定したときはいつでも、それはそう彼らの拡張された形式でない:

<application> 
    <component name="MavenVersion" mavenHome="C:/apache-maven-3.3.9" /> 
</application> 

私は多分1がAppearance & Behavior -> Path Variablesの使用を作ることができる考えていたが、アイデアは、何も入力できるように表示されませんが、実際のディレクトリ/パスはBuild, Execution, Deployment -> Build Tools -> Maven - > Mavenのホームディレクトリにあります。

私はここで不運ですか?

+0

IntelliJ IDEAは環境変数をサポートしていないため、自動的かつ透過的に動作するパス変数を使用できます。 https://www.jetbrains.com/help/idea/path-variables.html。 – CrazyCoder

+0

@CrazyCoder最後の段落で説明したように、それは私が考えて試したものです。 –

+1

パス変数の仕組みを読んだことはありますか?どのパスでも変数を指定することは決してありません。プロジェクトが保存されロードされると自動的に置換されます。 – CrazyCoder

答えて

1

Path Variablesこの問題はこの問題を解決します。

この機能に関してよくある誤解があります。ユーザーは、さまざまなIDEダイアログとフィールドで変数を入力することを期待していますが、この方法では機能しません。

いつものように実際のパスを指定すると、IDEはこれらのパスをプロジェクトXML設定ファイルの対応する変数に置き換えます。プロジェクトがロードされると、IDEは変数をパス変数に定義されている実際のパスに戻します。このプロジェクトがパス変数がまだ定義されていない新しいシステムで開かれている場合、IDEはユーザーにこの変数の実際のパスを指定するよう求めます。

別の方法として、Linux/MacまたはWindowsのジャンクションでシンボリックリンクを使用する方法があります。

+0

Ideaがあらかじめ定義したパス変数参照として保存するように、Mavenディレクトリオプションを再設定する必要があります。しかし、それはちょっと意味があります。 :) mavenVersion.xmlにmavenHome = "$ MAVEN_HOME $"があります。ありがとうございました! –

0

(補遺@ CrazyCoderのresponse/explanation

あなたがそうでなければ、あなたのパスを共有する

<userhome>/ 
    .IntelliJIdea<version>/ 
    config/ 
     settingsRepository/ 
     repository/ 
      .gitignore 

.gitignore_windows/path.macros.xmlを追加したい設定リポジトリを使用している場合すべてのマシンで変数

関連する問題