2011-11-25 22 views
6

のEclipseクラスパス変数M2_REPOの値へのアクセスeclipseの実行コンフィギュレーションでは、container_pathおよびenv_varのようなVM引数で使用できるデフォルト変数のセットが提供されます。
私がアクセスしたいのは、クラスパス変数M2_REPOですが、これを行う方法がわかりません。 VM引数にjavaagentを指定する必要があります。これにはjarファイルへのパスが必要です。このjarファイルはMavenリポジトリにありますが、すでにコンフィグレーションされたM2_REPOクラスパス変数(windows - >preferences - >java - >Build Path - >Classpath variable)を使用して、Mavenリポジトリへのパスを指定する方法が見つかりません。
私がしたいのは、これを私のVM引数として使うことですが、classpath_varは実際の変数ではないのでできません。実行コンフィギュレーションのVM引数

-javaagent:${classpath_var:M2_REPO}/org/apache/openjpa/openjpa/2.1.0/openjpa-2.1.0.jar 

VM引数でM2_REPOの値にアクセスする他の方法はありますか。

+0

私がしたように他の人が質問を間違って読んだ場合、 '$ {env_var:VAR_NAME}'を使うことができます。私のレポは '%M2_HOME%'の下にあるので、 '-javaagent:$ {env_var:M2_HOME}/repository/org/apache/openjpa/openjpa/2.1.0/openjpa-2.1.0.jar' – xverges

答えて

4

これはあなたが求めているものではありませんが、コードベースを共有し、実行コンフィギュレーションでハードコードされたパスを持たない方法として私たちのために働いていました。クラスパス変数を使用するのではなく、文字列置換変数(windows -> preferences -> run/debug -> String Substitutionで設定)を使用します。 M2_REPOの値と同じパスに設定して保存します。さらに明確にするために、あなたの文字列置換変数名もM2_REPOた場合、VM引数が

-javaagent:${M2_REPO}/org/apache/openjpa/openjpa/2.1.0/openjpa-2.1.0.jar 

になり、上記の例を使用して、私は個人的にちょうどあなたのオープンJPAジャーに直接行きましたopenjpa_2_1_0_agent文字列置換変数を作成します。

関連する問題