2015-12-17 3 views
0

Я работаю над проектом с использованием Intellij/sbt. У меня установлены оба Java 7/8. Это гибридный проект java/scala. Проект настроен (я думаю) на java 7. Я проверил Project SDK, Project Language Level, Platform SDK.Запуск sbt внутри Intellij получил неправильный байт-код версии

Теперь, если я запустил sbt assembly с помощью Intellij -> Views -> Sbt Console, .java-файл соответствует java 8. Если я запустил сборку sbt в отдельной консоли (вне Intellij), .java-файл скомпилирован в java 7. Я использую javap для проверки версии байт-кода.

Это почти как я пропустил переключатель внутри Intellij, чтобы установить версию байт-кода для sbt, но я не смог ее найти.

Что я пропустил?

UPDATE: Я добавил следующее к моему sbt.build, но это не помогло:

scalacOptions += "-target:jvm-1.7" 
javacOptions ++= Seq("-source", "1.7") 

Еще одна странная вещь мой файл .scala компилируется в основной 50 (Java 6). Я не знаю, откуда это взялось. Разве это не java 7?

UPATE: Это похоже на ошибку в плагине sbt. https://github.com/mpeltonen/sbt-idea/issues/296

+0

Как я могу найти 'SBT Console' в моем IDEA 15? Установили ли вы что-нибудь или используете ли вы IDEA? Какая версия? –

+0

@JacekLaskowski View-> Инструмент Windows-> SBT Console. Это товар IDEA 15.0.1 –

+0

Интересно. У меня его нет, но у меня есть плагин Scala. –

ответ

0

Вы можете установить версию Java внутри файла SBT, как это:

scalacOptions += "-target:jvm-1.8" 

или

javacOptions ++= Seq("-source", "1.8") 

Вот ссылка SBT для этого: http://www.scala-sbt.org/0.13/docs/Java-Sources.html

+0

Спасибо. Я добавил оба варианта в sbt.build. Но все равно увидите .java-файл, который будет скомпилирован для основного 52 (java 8). –

0

Это «SBT Console» Я говорю. Я не понял, что это часть плагина SBT. Это похоже на ошибку в плагине.

enter image description here

Смежные вопросы