1

NetBeans (Win 7 の NB 7.3.1) によって開始されるすべての JVM に使用されるシステム プロパティを設定する方法はありますか?

私のすべてのMavenプロジェクトで、システムプロパティでポイントしたい場所にlog4j.propertiesファイルが必要なLog4jを使用しています-Dlog4j.configuration=file:/c:/log4j/log4j.properties

Maven のグローバル実行オプションを設定できます: [ツール] > [オプション] > [Java] > [Maven] > [グローバル実行オプション]。しかし、特定の JUnit テスト クラスを NetBeans で (したがって Maven なしで) 実行すると、NetBeans は [グローバル実行オプション] フィールドに設定されたこれらの JVM システム プロパティを使用しません。

同じ問題はMain、Maven モジュールのクラスが NetBeans で実行される場合です。JVM システム プロパティを設定するには、「メイン クラス」と「VM オプション」を設定できるプロジェクト プロパティがあります。ただし、これらのプロジェクト プロパティは、Maven モジュールのコンテキスト メニューから [実行] コマンドを使用した場合にのみ、NetBeans によって使用されます。(残念ながら、このメニュー項目にはショートカット キー (通常は Shift-F6) がありません)。

System Variable を設定することで、これを回避しましたJAVA_TOOL_OPTIONS=-Dlog4j.configuration=file:/c:/log4j/log4j.properties

編集
私が遭遇したのと同じ問題について質問がありました: How to make Netbeans use specific JVM parameters when running tests? 私の場合、問題の原因は、[ファイル] > [プロジェクト プロパティ] > [ビルド] > [コンパイル] > [保存時にコンパイル] を切り替えた [保存時にコンパイル] オプションです。その場合、NetBeans は Maven を使用していないようです。CoS の詳細については、http ://wiki.netbeans.org/FaqCompileOnSave を参照してください。

4

1 に答える 1

0

project.propertiesというフォルダにファイルがありnbprojectます。このファイルには、GUI メニューにはない多くの構成が含まれています。あなたが望むものを達成するためにそこに何を置くべきか正確にはわかりませんが、NetBeans プロジェクトの設定の 1 つでこれを見つけました:

# Space-separated list of JVM arguments used when running the project
# (you may also define separate properties like run-sys-prop.name=value instead of -Dname=value
# or test-sys-prop.name=value to set system properties for unit tests):
run.jvmargs=
run.test.classpath=\
    ${javac.test.classpath}:\
    ${build.test.classes.dir}
于 2013-09-10T15:38:57.030 に答える