在Intellij中忽略了JVM -ea参数

问题描述 投票:1回答:2

我正在使用IntelliJ中的Scala项目。我正在尝试使用Predef.assert

给出以下代码:

test("TEST"){
    try{
        Predef.assert(0 == 1,"test")
    }
    catch{
        case e :AssertionError => println("Catch")
    }
    println("End")
}

我使用VM选项在IntelliJ中创建配置:-ea

我希望在控制台中有Catchand Endwritten,但它只输出End

即使我在IntelliJ的当前配置的VM选项中启用了断言,也会忽略该断言。有没有人经历过这个?

我甚至可以在IntelliJ控制台中看到已添加参数:

"C:\Program Files\Java\jdk1.8.0_144\bin\java.exe" -ea "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2018.1.5\lib ...

如何正确启用断言?

scala intellij-idea assert
2个回答
1
投票

不必使用VM选项启动IntelliJ本身,而是必须将其配置为使用适当的选项运行程序。

打开项目的运行配置并添加选项,如以下屏幕截图所示:

Open Run Configurations

Set VM options parameter


1
投票

好吧,在面对这样一个事实,即它适用于一个新项目(只有我自己在这里责备,总是从头开始,根据MCVE)我开始挖掘,事实是,一个参数仍然存在于文件.idea/scala_compiler

我不得不删除

<parameter value="-Xdisable-assertions" />

这显然超过了VM参数。

© www.soinside.com 2019 - 2024. All rights reserved.