2017-05-30 26 views
0

私はKotlinで簡単なHello Worldプログラムを試しました。私は、端末でそれをコンパイルしようとした端末でKotlinプログラムを実行できません

fun main(args: Array<String>) { 
println("HelloWorld!") 
} 

しかし、

kotlinc HelloWorld.kt -include-runtime -d HelloWorld.jar 

私は次のように取得します。

Exception in thread "main" java.lang.UnsupportedClassVersionError: org/jetbrains/kotlin/preloading/Preloader : Unsupported major.minor version 52.0 
at java.lang.ClassLoader.defineClass1(Native Method) 
at java.lang.ClassLoader.defineClass(ClassLoader.java:803) 
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 sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:358) 
at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:482) 
+1

使用しているJDKとjarをコンパイルするために使用したバージョンの間にバージョンの不一致があります。 JAVA_HOMEがあなたの考えるべきものであることを確認してください。 – meatspace

+1

実行に使用しているJDKのバージョンは何ですか? –

+0

@ɐuıɥɔɐɯOpen JDK 1.7.0_101 – Sriram

答えて

0

Kotlinコンパイラでは、コンパイルプロセスを実行するためにJava 8が必要です。必要に応じてJava 6バイトコードまたはJava 8バイトコードをターゲットにできますが、コンパイル時にJava 8以降のJDKを使用する必要があります。これはKotlin 1.1.2 release announcementで発表されました。

Kotlinコンパイラは、現在実行するJDK 8が必要です。 "移行に関する注意事項" の下

。 GradleやAndroidツールチェーンなどの他のほとんどのJava開発ツールもJDK 8を必要とするため、ほとんどの変更点に気づくべきではありません。コンパイラによって生成されたコードについては、Java 1.6の互換性は依然としてデフォルトであり、Java 1.6互換のバイトコードの生成をサポートしない予定です。

+0

あなたの情報をありがとう:-)働いた – Sriram

関連する問題