1

Play Framework バージョン 2.1.2 から 2.1.3 に移行しました。私の場合、それはC:\Play\current_versionにあるため、PATH は常に変更されません。

どちらのバージョンでも、クリーン コンパイルを実行して、コンソールから正常に実行できます。しかし、バージョン2.1.3で IDEA から実行すると、次のようになります。

Exception in thread "main" java.lang.UnsupportedClassVersionError: Bad version number in .class file
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
at xsbt.boot.Boot.main(Boot.scala)

とバブル:

Error running PROJECT_NAME:
Cannot find Play 2 install dir

どこを掘る?

アップデート:

1 つ目: すべてがコンソールと IDEA の両方で 2.1.2 と 2.1.3 の両方でコンパイルされます。IDEA から 2.1.3 でアプリを実行しようとすると問題が発生します。

2.1.3 がC:\Program Files\Java\jdk1.7.0_25またはC:\Program Files\Java\の代わりにC: \Program Files (x86)\Java\jre1.5.0_22を使用しようとしていることがわかりました。 jre7 . フォルダーの名前をC:\Program Files (x86)\Java_notに変更したところ、IDEA から 2.1.3 を実行しようとするとエラーが発生しました。

C:\Play\current_version\play.bat
Error: could not open `C:\Program Files (x86)\Java\jre1.5.0_22\lib\i386\jvm.cfg'

Process finished with exit code 0

私が理解していないのは、 2.1.3 がC:\Program Files (x86)\Java\jre1.5.0_22へのパスを取得する場所です。システムパス変数にはC:\Program Files\Java\jdk1.7.0_25\binのみが含まれます。

この間違ったパスはおそらく IDEA のどこかに設定されており (コンソールから 2.1.3 が正常に実行されるため)、驚くべきことに 2.1.3 にのみ影響し、2.1.2 には影響しません。

任意の提案をいただければ幸いです。

4

2 に答える 2

0

この問題は、ある Java バージョンでコンパイルされたクラス ファイルを別の Java バージョンで実行しようとすると発生します。applications.conf でコンパイルして実行する Java バージョンを設定できます。これは、システムの標準として定義されているものと同じにする必要があります (最新の Mac ではほとんどの場合 1.6、1.7)。

application.conf で次の行を検索します。

'java.source=1.6'

存在しない場合は、追加します。存在する場合は、環境が使用しているバージョンに設定されていることを確認してください。最後に、クリーンアップして再コンパイルします。これで動作するはずです。

于 2013-08-24T21:56:21.280 に答える