Ошибка: scalac: неверный вариант: -P (IntelliJ IDEA)

После обновления до IntelliJ IDEA 14.1 компиляция проекта застряла с сообщением об ошибке:

Ошибка: scalac: bad option: -P:/Users//. m2/repository/org/scalamacros/paradise_2.10.4/2.1.0-M1/paradise_2.10.4-2.1.0-M1.jar

В компиляторе scala есть дополнительный параметр:

Preferences 
 -> Build, Execution, Deployment 
    -> Compiler
       -> Scala compiler
          -> Additional compiler options = <some parameters>

Итак, теперь вы знаете, откуда приходит этот параметр, и вам решать, следует ли вы удалить/изменить что-то еще или нет.

Надеюсь, это сэкономило ваше время; -)

Ответ 1

Просто измените параметры компилятора scala на

-Xplugin:/your/user/home/.m2/repository/org/scalamacros/paradise_2.10.4/2.0.1/paradise_2.10.4-2.0.1.jar

(конечно, указав свою действительную домашнюю папку) в

Preferences 
 -> Build, Execution, Deployment 
    -> Compiler
       -> Scala compiler
          -> Additional compiler options = <some parameters>

(как сказано в вопросе)

Это решает проблему для меня. Кажется, флаг -P предназначен для указания опции плагина, а -Xplugin - для установки местоположения файла плагина.

Ответ 2

Я столкнулся с одной и той же конкретной проблемой и нашел постоянное решение в IntelliJ.

Я использую IDEA 16.1 и проект Scala -sbt. Я знаю, что исходный вопрос, похоже, связан с проектом maven, но на всякий случай вы используете SBT (и Scala), вот вы:

в build.sbt, необходимо добавить следующее:

addCompilerPlugin("org.scalamacros" % "paradise" % "2.1.0" cross CrossVersion.full)

Обратите внимание на cross CrossVersion.full. Если вы попытаетесь использовать определенную версию (например, paradise_2.11.7), то она будет не работать.

В дополнение к плагину компилятора (которого достаточно для SBT), вам нужно добавить следующую зависимость для компиляции/запуска вашего кода из IDEA:

"org.scalamacros" % "paradise" % "2.1.0" cross CrossVersion.full

P.S.: Я ничего не добавляю в предпочтениях IDEA

Ответ 3

В моем случае это была не работа, но я решил эту проблему! Удалить scala_compiler.xml в каталоге .ieda. И он отлично работает!

Возможно, кто-то найдет это полезным