[英]Mac OS X Activator New Play Framework Error
我正在使用Typesafe 1.3.4中的最新激活器運行最新的Yosemite 10.10.3,我嘗試創建一個新的Scala項目模板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
從版本2.4.0開始的最新Play框架需要Java 1.8。 升級解決。
這是堆棧跟蹤的相關部分:
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模板。
如果您使用的是playframework 2.4.2,請確保已將開發計算機設置為使用java 1.8.0+
這是你如何更改設置你的機器在ubuntu上使用java 1.8
備用java有5種選擇(提供/ usr / bin / java)。
2.設置javac版本sudo update-alternatives --config javac
備用java有5種選擇(提供/ usr / bin / java)。
0 / usr / lib / jvm / java-8-oracle / jre / bin / java 20004 auto mode 1 / usr / lib / jvm / java-7-openjdk-amd64 / jre / bin / java 1071 manual mode 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鍵保持當前選擇[*]或類型選擇號:
〜/ .bashrc但是對於Java,我按照https://askubuntu.com/questions/55848/how-do-i-install-oracle-java-jdk-7上的說明進行操作
這對我來說已經足夠了。
你也可以定義多個java_home,並且只有其中一個是活動的(休息評論)。
假設你的bashrc文件中有
export JAVA_HOME = ...... jdk1.7
通知1.8被評論。 一旦你這樣做了
source~ / .bashrc
jdk1.7將在路徑中。
你可以通過這種方式輕松切換它們。 還有其他更永久的解決方案。 我發布的鏈接有該信息。
正如@nkadwa已經提到的,從版本2.4.0開始的最新Play框架需要Java 1.8。
值得一提的是,在Windows操作系統中, activator
命令使用JAVA_HOME
環境變量(如果已設置),以查找要使用的Java實例。
因此,即使您已經安裝了Java 8, JAVA_HOME
env變量也可以指向舊版本的JDK。 這可能是出現這種錯誤的原因之一。
將JAVA_HOME
變量設置為指向新版本的JDK,或者刪除JAVA_HOME
變量(如果您只想使用JRE)來解決此問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.