2013-02-11 14 views
15

我使用的模塊必須使用Java 1.7進行編譯,而我只有1.6。如何設置Play Framework 2.0的javac編譯版本以防止「不支持的major.minor版本」?

如果我想要爲1.6這樣的特定版本編譯模塊,我該如何在Play中設置它! Framework 2.0,以便我可以防止「不受支持的major.minor版本」錯誤。

在玩! 1.x你可以在application.conf中設置「java.version = 1.6」。

我假設在Play! 2.x它可能需要設置某處爲sbt - 但在哪裏/如何?

回答

0

我認爲唯一的解決辦法是在項目的根目錄創建文件build.sbt並添加

JAVAHOME:=一些(文件( 「path_to_your_jdk」))

+0

我只是想設置版本像在螞蟻java目標=「1.5」 – poornerd 2013-02-13 23:03:30

+0

我認爲是不可能的 – MaFo 2013-02-15 11:33:40

8

在文件項目/ 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") 
) 
+0

這看起來很有前途,謝謝! – poornerd 2013-07-25 08:02:04

+0

,在這裏它可以在我的[blog]上找到(http://www.poornerd.com/2013/07/25/how-to-set-the-java-version-for-compiling-a-play- framework-module /) – poornerd 2013-07-25 08:16:39

1

我想通了這一點,把

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

你build.sbt文件的末尾。確保你把它放在「playJavaSettings」之後(如果你在built.sbt中有這條線)。

確保您有一個分配給你的SDK正確的道路,你可以通過輸入驗證這一點:

java-home 
在播放或激活控制檯

另外,還要確保您在控制檯中運行

clean 

擺脫所有以前編譯資源。

現在用

compile 

你要善於去編譯代碼。我希望這有幫助!

17

添加

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

build.sbt文件爲我工作(是透明的,在我的情況下,它是1.7建立與JDK 8)。

+0

我認爲1.7意味着使用JDK 7構建,1.8使用JDK 8構建。我錯了嗎? – behzad 2016-03-27 09:47:49

相關問題