首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在IntelliJ中运行Play Framework2.1项目?

如何在IntelliJ中运行Play Framework2.1项目?
EN

Stack Overflow用户
提问于 2017-07-28 06:07:16
回答 3查看 1.1K关注 0票数 7

我有一个现有的Play 2.1项目。我一直在控制台上运行它,它工作得很好。但是,当我尝试使用以下指令在IntelliJ中运行它时,它并不起作用:

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

首先,我尝试通过右键单击应用程序并选择“运行play 2应用程序”来运行它。它不会运行,并给出以下错误:

代码语言:javascript
复制
sbt.IncompatiblePluginsException: Binary incompatibility in plugins detected.

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

代码语言:javascript
复制
Global : Unsupported major.minor version 52.0

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

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

下面是完整的堆栈跟踪:

代码语言:javascript
复制
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]
EN

回答 3

Stack Overflow用户

发布于 2017-08-02 20:22:38

该问题是由于Java版本不匹配造成的。关于Wikipedia Java Class Reference

J2SE 8= 52

J2SE 7= 51

导入项目try to change project SDK from Java 8 to Java 7

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

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

票数 3
EN

Stack Overflow用户

发布于 2017-08-07 22:22:23

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

这意味着您已经使用JDK 1.8进行了编译,并尝试在JDK 1.7中运行。该问题是由于Java版本不匹配造成的。(请查看此详细信息example)

以下是报告的主要号码来源Wiki的列表:

代码语言:javascript
复制
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

解决方案

可能的解决方案是确保项目的类编译在Java 1.7中进行,而不是Java 1.8。执行以下步骤来解决这个问题(使用-target 1.7选项编译代码):

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

票数 1
EN

Stack Overflow用户

发布于 2017-08-02 18:01:27

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45361798

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档