繁体   English   中英

如何在IntelliJ中运行Play Framework 2.1项目?

[英]How do I run a Play Framework 2.1 project in IntelliJ?

我有一个现有的Play 2.1项目。 我一直用控制台运行它,它工作正常。 但是,当我尝试使用IntelliJ使用这些说明运行它时,它不起作用:

https://www.jetbrains.com/help/idea/getting-started-with-play-2-x.html#run_debug_playApp

首先,我尝试通过右键单击应用程序并选择“运行播放2应用程序”来运行它。 它不会运行,它给了我这个错误:

sbt.IncompatiblePluginsException: Binary incompatibility in plugins detected.

在对该问题进行一些研究之后,我将-Djline.terminal=添加到我的JVM选项中并再次尝试。 这次它运行了,但是当我尝试在浏览器中打开一个页面时出现了这个错误:

Global : Unsupported major.minor version 52.0

最后,我尝试将我的项目重新导入intellij。 在导入之前,它迫使我将build.properties中的SBT版本从0.12.2更新为0.12.4。 我做了这个,但仍然得到上面列出的相同的错误。

注意:我将Java 7设置为我的JDK。

这是完整的堆栈跟踪:

play.api.PlayException: Cannot init the Global object[Global : Unsupported major.minor version 52.0]
    at play.api.WithDefaultGlobal$$anonfun$play$api$WithDefaultGlobal$$globalInstance$1.apply(Application.scala:57) ~[play_2.10-2.1.1.jar:2.1.1]
    at play.api.WithDefaultGlobal$$anonfun$play$api$WithDefaultGlobal$$globalInstance$1.apply(Application.scala:51) ~[play_2.10-2.1.1.jar:2.1.1]
    at play.utils.Threads$.withContextClassLoader(Threads.scala:18) ~[play_2.10-2.1.1.jar:2.1.1]
    at play.api.WithDefaultGlobal$class.play$api$WithDefaultGlobal$$globalInstance(Application.scala:50) ~[play_2.10-2.1.1.jar:2.1.1]
    at play.api.DefaultApplication.play$api$WithDefaultGlobal$$globalInstance$lzycompute(Application.scala:383) ~[play_2.10-2.1.1.jar:2.1.1]
    at play.api.DefaultApplication.play$api$WithDefaultGlobal$$globalInstance(Application.scala:383) ~[play_2.10-2.1.1.jar:2.1.1]
Caused by: java.lang.UnsupportedClassVersionError: Global : Unsupported major.minor version 52.0
    at java.lang.ClassLoader.defineClass1(Native Method) ~[na:1.7.0_80]
    at java.lang.ClassLoader.defineClass(ClassLoader.java:800) ~[na:1.7.0_80]
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) ~[na:1.7.0_80]
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:449) ~[na:1.7.0_80]
    at java.net.URLClassLoader.access$100(URLClassLoader.java:71) ~[na:1.7.0_80]
    at java.net.URLClassLoader$1.run(URLClassLoader.java:361) ~[na:1.7.0_80]

问题是由于Java版本不匹配。 参考Wikipedia Java类参考

J2SE 8 = 52

J2SE 7 = 51

导入项目时尝试将项目SDK从Java 8更改为Java 7

您可以尝试将以下内容添加到build.sbt:

javacOptions ++ = Seq(“ - source”,“1.7”,“ - target”,“1.7”)

全局:不受支持的major.minor版本52.0

这意味着您已使用JDK 1.8编译并尝试在JDK 1.7中运行。 问题是由于Java版本不匹配。 (查看此详细示例

以下是报告的主要数字列表来源Wiki

Java SE 9 = 53,
Java SE 8 = 52,
Java SE 7 = 51,
Java SE 6.0 = 50,
Java SE 5.0 = 49,
JDK 1.4 = 48,
JDK 1.3 = 47,
JDK 1.2 = 46,
JDK 1.1 = 45

可能的解决方案是make-sure项目的编译发生在Java 1.7而不是Java 1.8中。 执行以下步骤来解决它(使用-target 1.7选项编译代码):

conf/application.conf ,确保设置了java.source=1.7

尝试将Java版本从1.7.0_80更新到更新的1.7版本(例如1.7.0_131)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM