Mac OS X Activator Новая ошибка Play Framework

Я использую самую последнюю версию Yosemite 10.10.3 с последним активатором от Typesafe 1.3.4, и я попытался создать новый шаблон проекта Scala Project 6, и я больше не могу запускать шаблон без этой ошибки.

[info] Loading project definition from /Users/Master/x/x/project
java.lang.UnsupportedClassVersionError: play/runsupport/classloader/ApplicationClassLoaderProvider : Unsupported major.minor version 52.0
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
    at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
    at play.sbt.run.PlayRun$.<init>(PlayRun.scala:35)
    at play.sbt.run.PlayRun$.<clinit>(PlayRun.scala)
    at play.sbt.PlaySettings$.defaultSettings$lzycompute(PlaySettings.scala:70)
    at play.sbt.PlaySettings$.defaultSettings(PlaySettings.scala:47)
    at play.sbt.Play$.projectSettings(Play.scala:26)
    at sbt.Load$$anonfun$autoPluginSettings$1$1.apply(Load.scala:666)
    at sbt.Load$$anonfun$autoPluginSettings$1$1.apply(Load.scala:666)
    at scala.collection.TraversableLike$$anonfun$flatMap$1.apply(TraversableLike.scala:251)
    at scala.collection.TraversableLike$$anonfun$flatMap$1.apply(TraversableLike.scala:251)
    at scala.collection.immutable.List.foreach(List.scala:318)
    at scala.collection.TraversableLike$class.flatMap(TraversableLike.scala:251)
    at scala.collection.AbstractTraversable.flatMap(Traversable.scala:105)
    at sbt.Load$.autoPluginSettings$1(Load.scala:666)
    at sbt.Load$.sbt$Load$$expandSettings$1(Load.scala:681)
    at sbt.Load$$anonfun$sbt$Load$$expandSettings$1$2.apply(Load.scala:682)
    at sbt.Load$$anonfun$sbt$Load$$expandSettings$1$2.apply(Load.scala:682)
    at scala.collection.IndexedSeqOptimized$class.foldl(IndexedSeqOptimized.scala:51)
    at scala.collection.IndexedSeqOptimized$class.foldLeft(IndexedSeqOptimized.scala:60)
    at scala.collection.mutable.WrappedArray.foldLeft(WrappedArray.scala:34)
    at scala.collection.TraversableOnce$class.$div$colon(TraversableOnce.scala:138)
    at scala.collection.AbstractTraversable.$div$colon(Traversable.scala:105)
    at sbt.Load$.sbt$Load$$expandSettings$1(Load.scala:682)
    at sbt.Load$.resolveProject(Load.scala:684)
    at sbt.Load$.finalizeProject$1(Load.scala:549)
    at sbt.Load$.loadTransitive(Load.scala:577)
    at sbt.Load$.loadProjects$1(Load.scala:442)
    at sbt.Load$.loadUnit(Load.scala:446)
    at sbt.Load$$anonfun$18$$anonfun$apply$11.apply(Load.scala:281)
    at sbt.Load$$anonfun$18$$anonfun$apply$11.apply(Load.scala:281)
    at sbt.BuildLoader$$anonfun$componentLoader$1$$anonfun$apply$4$$anonfun$apply$5$$anonfun$apply$6.apply(BuildLoader.scala:91)
    at sbt.BuildLoader$$anonfun$componentLoader$1$$anonfun$apply$4$$anonfun$apply$5$$anonfun$apply$6.apply(BuildLoader.scala:90)
    at sbt.BuildLoader.apply(BuildLoader.scala:140)
    at sbt.Load$.loadAll(Load.scala:334)
    at sbt.Load$.loadURI(Load.scala:289)
    at sbt.Load$.load(Load.scala:285)
    at sbt.Load$.load(Load.scala:276)
    at sbt.Load$.apply(Load.scala:130)
    at sbt.Load$.defaultLoad(Load.scala:36)
    at sbt.BuiltinCommands$.doLoadProject(Main.scala:481)
    at sbt.BuiltinCommands$$anonfun$loadProjectImpl$2.apply(Main.scala:475)
    at sbt.BuiltinCommands$$anonfun$loadProjectImpl$2.apply(Main.scala:475)
    at sbt.Command$$anonfun$applyEffect$1$$anonfun$apply$2.apply(Command.scala:58)
    at sbt.Command$$anonfun$applyEffect$1$$anonfun$apply$2.apply(Command.scala:58)
    at sbt.Command$$anonfun$applyEffect$2$$anonfun$apply$3.apply(Command.scala:60)
    at sbt.Command$$anonfun$applyEffect$2$$anonfun$apply$3.apply(Command.scala:60)
    at sbt.Command$.process(Command.scala:92)
    at sbt.MainLoop$$anonfun$1$$anonfun$apply$1.apply(MainLoop.scala:98)
    at sbt.MainLoop$$anonfun$1$$anonfun$apply$1.apply(MainLoop.scala:98)
    at sbt.State$$anon$1.process(State.scala:184)
    at sbt.MainLoop$$anonfun$1.apply(MainLoop.scala:98)
    at sbt.MainLoop$$anonfun$1.apply(MainLoop.scala:98)
    at sbt.ErrorHandling$.wideConvert(ErrorHandling.scala:17)
    at sbt.MainLoop$.next(MainLoop.scala:98)
    at sbt.MainLoop$.run(MainLoop.scala:91)
    at sbt.MainLoop$$anonfun$runWithNewLog$1.apply(MainLoop.scala:70)
    at sbt.MainLoop$$anonfun$runWithNewLog$1.apply(MainLoop.scala:65)
    at sbt.Using.apply(Using.scala:24)
    at sbt.MainLoop$.runWithNewLog(MainLoop.scala:65)
    at sbt.MainLoop$.runAndClearLast(MainLoop.scala:48)
    at sbt.MainLoop$.runLoggedLoop(MainLoop.scala:32)
    at sbt.MainLoop$.runLogged(MainLoop.scala:24)
    at sbt.StandardMain$.runManaged(Main.scala:53)
    at sbt.xMain.run(Main.scala:28)
    at xsbt.boot.Launch$$anonfun$run$1.apply(Launch.scala:109)
    at xsbt.boot.Launch$.withContextLoader(Launch.scala:128)
    at xsbt.boot.Launch$.run(Launch.scala:109)
    at xsbt.boot.Launch$$anonfun$apply$1.apply(Launch.scala:35)
    at xsbt.boot.Launch$.launch(Launch.scala:117)
    at xsbt.boot.Launch$.apply(Launch.scala:18)
    at xsbt.boot.Boot$.runImpl(Boot.scala:41)
    at xsbt.boot.Boot$.main(Boot.scala:17)
    at xsbt.boot.Boot.main(Boot.scala)
[error] java.lang.UnsupportedClassVersionError: play/runsupport/classloader/ApplicationClassLoaderProvider : Unsupported major.minor version 52.0

person Everus    schedule 07.06.2015    source источник
comment
возможный дубликат Как исправить: неподдерживаемая версия major.minor Ошибка 51.0?   -  person RealSkeptic    schedule 07.06.2015


Ответы (4)


Для последней версии Play Framework, начиная с версии 2.4.0, требуется Java 1.8. Обновите, чтобы решить.

Журнал изменений PlayFramework

person nkadwa    schedule 07.06.2015

Это соответствующая часть вашей трассировки стека:

java.lang.UnsupportedClassVersionError:      
play/runsupport/classloader/ApplicationClassLoaderProvider : Unsupported  
major.minor version 52.0 at java.lang.ClassLoader.defineClass1(Native Method) at

Это означает, что у вас установлена ​​Java 7, но она не поддерживается шаблоном. Вместо этого попробуйте использовать шаблон с Java 8.

person Kai Sternad    schedule 07.06.2015
comment
Разве не наоборот? (Необходима Java 8, но установлена ​​Java 7) - person Peanut; 08.06.2015

Если вы используете playframework 2.4.2, убедитесь, что вы настроили свой компьютер для разработки на использование java 1.8.0+.

Вот как вы меняете настройку своей машины для использования java 1.8 в Ubuntu.

  1. Установите версию java sudo update-alternatives --config java

Есть 5 альтернативных вариантов java (предоставление /usr/bin/java).

Статус приоритета пути выбора

  • 0 /usr/lib/jvm/java-8-oracle/jre/bin/java 20004 автоматический режим 1 /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java 1071 ручной режим 2 /usr/ lib/jvm/java-7-oracle/jre/bin/java 20002 ручной режим 3 /usr/lib/jvm/java-8-oracle/bin/java 20000 ручной режим 4 /usr/lib/jvm/java-8- oracle/jre/bin/java 20004 ручной режим 5 /usr/lib/jvm/jre1.7.0_45/bin/java 1 ручной режим Нажмите Enter, чтобы сохранить текущий выбор[*], или введите номер выбора:

2.Установите версию javac sudo update-alternatives --config javac

Есть 5 альтернативных вариантов java (предоставление /usr/bin/java).

Статус приоритета пути выбора

  • 0 /usr/lib/jvm/java-8-oracle/jre/bin/java 20004 автоматический режим 1 /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java 1071 ручной режим 2 /usr/ lib/jvm/java-7-oracle/jre/bin/java 20002 ручной режим 3 /usr/lib/jvm/java-8-oracle/bin/java 20000 ручной режим 4 /usr/lib/jvm/java-8- oracle/jre/bin/java 20004 ручной режим 5 /usr/lib/jvm/jre1.7.0_45/bin/java 1 ручной режим Нажмите Enter, чтобы сохранить текущий выбор[*], или введите номер выбора:

    1. set the JAVA_HOME at to the java 1.8 source( /usr/lib/jvm/java-8-oracle/jre/bin/java )

~/.bashrc Однако для Java я следовал инструкциям на https://askubuntu.com/questions/55848/how-do-i-install-oracle-java-jdk-7

и мне этого было достаточно.

вы также можете определить несколько java_home и сделать активным только один из них (остальные прокомментированы).

предположим, что в вашем файле bashrc у вас есть

экспорт JAVA_HOME=......jdk1.7

экспорт JAVA_HOME=......jdk1.8

уведомление 1.8 прокомментировано. Как только вы сделаете

источник ~/.bashrc

jdk1.7 будет в пути.

вы можете довольно легко переключать их таким образом. Есть и другие более постоянные решения. В ссылке, которую я разместил, есть эта информация.

person Philips    schedule 07.07.2015

Как уже упоминал @nkadwa, для последней версии Play Framework, начиная с версии 2.4.0, требуется Java 1.8.

Стоит отметить, что в ОС Windows команда activator использует переменную окружения JAVA_HOME, если она установлена, чтобы найти экземпляр Java для работы.

Таким образом, даже если вы установили Java 8, переменная JAVA_HOME env может указывать на старую версию JDK. Возможно, это одна из причин появления этой ошибки.

Установите переменную JAVA_HOME, чтобы она указывала на новую версию JDK, или удалите переменную JAVA_HOME (если вы просто хотите использовать JRE), чтобы решить эту проблему.

person MockerTim    schedule 08.06.2015