web-dev-qa-db-ja.com

Google App Engine JSPはデプロイできません:Java.lang.RuntimeException:システムを取得できませんJavaコンパイラ。JREではなくJDKを使用してください

これは願わくば単純なことですが、... EclipseはGAEへのデプロイを除くすべての点で比較的うまく機能しています。

GAEアプリをローカルで実行できますが、Googleにデプロイしようとすると、次のメッセージが表示されます。

Java.lang.RuntimeException: Cannot get the System Java Compiler. Please use a JDK, not a JRE.

ビルドパスをJDKに設定しました。

複数のシステム(win7とwin8)から同じプロジェクトをデプロイしようとしたときにも発生するため、問題はプロジェクト自体に関係していると思われます。この特定のプロジェクトは既存のものであり、すでにGoogleで何年も実行されています。

興味深いことに、このエラーは、デプロイするアプリに.jspファイルがある場合にのみ表示されます。 jspファイルを削除すると、エラーなしでデプロイされます。 (jspファイルthoが必要です)

ありがとう

ビルドパスのイメージへのリンク

33
101chris

同じ問題があり、EclipseがSDKディレクトリ(Win 7 64ビット)内でJREを使用するように強制した後、正常にデプロイできました。 Eclipseに特定のJREを強制的に使用させるには、 this を参照してください。 Eclipseが使用するJVM、アプリエンジンが生成するJVM、およびappconfigが使用するJVMはすべて同じである必要があります。これがあなたの状況にも役立つことを願っています。

60
AlohaCode

AlohaCodeの答えによると、プロジェクトjreをEclipse jreと同じに設定しようとしました。これは私には不十分でした。答えは私のクラスパスにありました。C:\ windows\system32には、Javaホーム変数の前にあるJava.exeがあります。解決策は、C:\ windows\system32エントリの前にJavaホームパスを置くことです。ここで答えが見つかりました:2FL5sJ "> https://groups.google.com/forum/?fromgroups=#!msg/google-appengine-Java/RyFybJWUhU4/78UE_2FL5sJ

12
bitrock

Eclipseで、次の場所に移動します:Window-> Preferences-> Java-> Installed JREs、add-> Standard VM TO JDK PATH\JRE。このjre

与えられたアドバイスは私の問題を解決しました。 -vm引数を最初の行にすることはできません。

-vm

C:\Program Files (x86)\Java\jdk1.7.0_51\bin\javaw.exe
2
Deepak

Eclipse.iniで-vmを設定しても解決しませんでした。他のすべての設定は、一見JDKを指しています。必死で、システムからすべてのJREをアンインストールし、JDKのみを残しました。その結果、JDK binディレクトリがPATHにないため、Eclipseは起動しませんでした(Windows 8はこちら)。これを環境システム変数に追加すると、Eclipseが起動します。その後、App Engineにデプロイできました。

0
Agnes