有没有办法设置用于由 NetBeans 启动的每个 JVM 的系统属性(Win 7 上的 NB 7.3.1)?
在我所有的 maven 项目中,我使用 Log4j,它需要一个 log4j.properties 文件,指向我想通过系统属性指向的位置-Dlog4j.configuration=file:/c:/log4j/log4j.properties
我可以为 Maven 设置全局执行选项:工具 > 选项 > Java > Maven > 全局执行选项。但是当我在 NetBeans 中运行特定的 JUnit 测试类(因此没有 Maven)时,NetBeans 不会使用在 Global Execution Options 字段中设置的这些 JVM 系统属性。
同样的问题是当Main
Maven 模块中的类在 NetBeans 中运行时。要设置 JVM 系统属性,可以设置项目属性:“主类”和“VM 选项”。但是这些项目属性仅在从 maven 模块的上下文菜单中使用“运行”命令时由 NetBeans 使用。(不幸的是,这个菜单项没有快捷键(通常是 Shift-F6))。
我通过设置系统变量来解决这个问题JAVA_TOOL_OPTIONS=-Dlog4j.configuration=file:/c:/log4j/log4j.properties
。
编辑
针对我遇到的相同问题提出了一个问题:如何让 Netbeans 在运行测试时使用特定的 JVM 参数?在我的情况下,问题是由我打开的选项 Compile on Save 引起的(文件 > 项目属性 > 构建 > 编译 > 保存时编译)。在这种情况下,NetBeans 似乎不使用 Maven。有关 CoS 的更多信息:http ://wiki.netbeans.org/FaqCompileOnSave