【问题标题】:Set java system properties in IntelliJ or Eclipse在 IntelliJ 或 Eclipse 中设置 java 系统属性
【发布时间】:2015-06-09 20:38:47
【问题描述】:

我有一个项目可以在终端命令下正确运行

mvn package exec:java -Dplatform.dependencies -Dexec.mainClass=Demo

现在,我需要在 Mac(最好是 IntelliJ)上使用 IntelliJ 或 Eclipse 正确调试它(不是终端),但我尝试在不同的地方设置 VM 选项,但似乎没有任何效果。

放置这些选项的正确位置在哪里:-Dplatform.dependencies -Dexec.mainClass=Demo?

【问题讨论】:

    标签: java eclipse intellij-idea intellij-13 system-properties


    【解决方案1】:

    运行 -> 编辑配置 -> 修改选项(右上角的蓝色链接) -> [v] 添加虚拟机选项 -> 填写额外的输入行“虚拟机选项”

    【讨论】:

      【解决方案2】:

      在 IntelliJ 中,它的工作原理如下: 转到配置 -> VM 选项并添加参数/值对:

      -DmyParameter=value
      

      确保在“-”之后添加一个“D”!

      【讨论】:

      • 你确定这行得通吗?在我的系统上我必须添加 -D,否则会引发异常。
      【解决方案3】:

      如果您像我一样,在这里尝试运行使用 -P 语法而不是 -D 语法的测试,您可以简单地按照 MZF 的说明进行操作,但使用 -D 代替 -P.

      比如我在命令行上的测试执行为:

      ./gradlew -Penvironment=qa project:test

      在 VM 行的 intellij 中使用 -P 被拒绝。但是,将 -P 更改为 -D 最终会起作用。

      【讨论】:

        【解决方案4】:

        在 InteliJ 中转到“运行”->“编辑配置” 在新窗口的右侧面板中,打开 Junit 并单击您的测试。 现在,在中间单击“配置”选项卡并更新“虚拟机选项”

        请注意,您需要为每个测试类执行此操作,但您可以从右侧面板中的 junit 中删除所有测试并在“默认值”中更新它

        【讨论】:

        • 谢谢 Mzf,但我创建了测试,但我仍然收到在 java.lang.NoClassDefFoundError: Could not initialize class org.bytedeco.javacpp.avutil 之前遇到的错误,我没有使用终端命令。
        • 如果您必须单独运行多个测试,则必须为每个测试定义属性会很麻烦。你可以去Run -> Edit Configurations -> Defaults -> JUnit;现在将该属性添加到VM options。现在,您运行的每个 junit 测试都将定义该属性。当您从该项目继续前进时,请确保删除默认值。
        • 请注意,在一些最新版本的 IDEA 中,Edit Configurations 左侧窗格中的 Defaults 部分现在已重命名为 Templates
        • Run -> Edit Configurations 然后呢?
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-06-02
        • 2011-05-18
        • 2014-10-08
        • 2012-01-24
        • 1970-01-01
        • 2016-07-02
        相关资源
        最近更新 更多