Подтвердить что ты не робот

Как я могу установить версию компиляции javac для Play Framework 2.0, чтобы предотвратить "Неподдерживаемая версия major.minor"?

Модуль, который я использую, должен быть скомпилирован с Java 1.7, и у меня есть только 1.6.

Если я хочу, чтобы модуль был скомпилирован для определенной версии, например, 1.6, как я могу установить это в Play! Framework 2.0, чтобы я мог предотвратить ошибки "Неподдерживаемая версия major.minor".

В игре! 1.x вы можете установить "java.version = 1.6" в application.conf.

Я предполагаю, что в Play! 2.x, вероятно, необходимо установить где-нибудь для sbt - но где/как?

4b9b3361

Ответ 1

Добавление

javacOptions ++= Seq("-source", "1.6", "-target", "1.6")

в файл build.sbt работал у меня (чтобы быть прозрачным, в моем случае было 1,7 для сборки с JDK 8).

Ответ 2

В файле project/Build.scala добавьте параметр ниже, если вы хотите скомпилировать с помощью java 1.6:

val main = play.Project(appName, appVersion, appDependencies).settings(
  // Force compilation in java 1.6
  javacOptions in Compile ++= Seq("-source", "1.6", "-target", "1.6")
)

Ответ 3

Я понял это, положил

javaHome := Some(file("path_to_your_jdk"))

в самом конце вашего файла build.sbt. Убедитесь, что вы положили его после "playJavaSettings" (если у вас есть эта строка в файле built.sbt).

Убедитесь, что у вас есть правильный путь к вашему sdk, вы можете проверить это, набрав:

java-home

в консоли воспроизведения или активатора.

Также убедитесь, что вы запустите

clean

в консоли, чтобы избавиться от всех ранее скомпилированных ресурсов.

теперь скомпилируйте свой код, используя

compile 

тебе должно быть хорошо идти. Надеюсь, это поможет!

Ответ 4

Я думаю, единственное решение - создать файл build.sbt в корне проекта и добавить

javaHome: = Some (файл ( "path_to_your_jdk" ))