Параметр JVM -ea игнорируется в Intellij - PullRequest
1 голос
/ 20 марта 2019

Я работаю над проектом Scala в IntelliJ.Я пытаюсь использовать Predef.assert.

Учитывая следующий код:

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

Я создаю конфигурацию в IntelliJ с опцией VM: -ea

Я ожидаю получитьCatch и End записаны в консоли, но выводит только End

Утверждение игнорируется, даже если я включаю его в параметрах виртуальной машины текущей конфигурации IntelliJ.Есть кто-нибудь, кто испытал это?

Я даже вижу в консоли 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 ...

Как правильно включить утверждения?

Ответы [ 2 ]

1 голос
/ 21 марта 2019

Хорошо, после того, как я столкнулся с тем фактом, что он работает с новым проектом (в этом виноват только я, всегда начинаю с нуля, согласно MCVE ), я начал копать, и факт, чтопараметр все еще лежал в файле .idea/scala_compiler

Мне пришлось удалить

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

, который явно превысил параметры виртуальной машины.

1 голос
/ 20 марта 2019

Вместо запуска самого IntelliJ с опцией VM, вы должны настроить его для запуска вашей программы с соответствующими опциями.

Откройте конфигурацию запуска вашего проекта и добавьте параметры, как показано на следующих снимках экрана:

Open Run Configurations

Set VM options parameter

...