2

私はこれでぐるぐる回っているように感じます。Eclipseで Google App Engine の入門ガイド ( https://developers.google.com/appengine/docs/java/gettingstarted/ ) に従いましたが、App Engine にアップロードするまで、すべてが比較的うまくいきました。

500 エラーが発生していたので、ログを確認したところ、「guestbook/SignGuestbookServlet : Unsupported major.minor version 51.0]」というメッセージが見つかりました。

次に、この問題を (もちろん、stackoverflow で) 検索したところ、この解決策が見つかりました: Google App Engine and Java Version?

そのため、コンプライアンス レベルを 1.6 に設定すると、ダイアログの下部に「1.6 コンプライアンスを選択する場合は、互換性のある JRE がインストールされ、アクティブ化されていることを確認してください (現在は 1.7)」という警告が表示されます。

[OK] をクリックすると、再構築のプロンプトが表示されます。再構築後、「Java コンパイラ レベルが、インストールされている Java プロジェクト ファセットのバージョンと一致しません」という新しいエラーが表示されます。

プロジェクトで故意にファセットを使用していないので、(再度スタックオーバーフローで) ヘルプを検索すると、「Faceted Project Prblem (Java Version Mismatch)」エラー メッセージが表示されます。

残念ながら、私はMavenを使用していないため、役に立ちません。また、プロジェクトのプロパティを表示しても、バージョンを変更するための[プロジェクト プロパティ] -> [プロジェクト ファセット]パネルはありません。

そのため、Eclipse でコンパイルできないか、App Engine にデプロイできない何かに行き詰まっているようです。ここで明らかな何かが欠けている可能性があることはわかっていますが、それを指で示すことはできません。

更新: すべての JRE と JDK をアンインストールし、jdk1.6.0_32 のみを再インストールしました。問題はまったく同じように続きます。

4

3 に答える 3

7

私も同じ問題を抱えていました。ナビゲータービューを使用して.settings/org.eclipse.wst.common.project.facet.core.xmlを編集し、次のように変更することで解決できました。

<?xml version="1.0" encoding="UTF-8"?>
<faceted-project>
  <installed facet="java" version="1.6"/>
</faceted-project>

この変更後、エラーはなくなり、jre1.7を使用してDevModeでGWTプロジェクトを正常に実行できましたが、Java1.6準拠レベルです。

プロジェクト構成を介してこのJavaファセットを編集する方法があるはずですが、Junoでは見つかりませんでした。

于 2012-08-25T20:07:40.043 に答える
2

この問題と数時間戦った後、warフォルダーにあるnocache.jsを削除することがパズルの最後のピースでした。

上記の答えとは逆に、1.7でアプリケーションを作成した後、コンプライアンスレベル1.6に正常にダウングレードすることができました。

于 2012-10-15T08:40:12.393 に答える
2

少なくとも私の場合、答えは、Webアプリケーションの作成時にEclipseのデフォルトのコンパイラーレベルが1.7に設定されていると、1.6に正常に切り替えることができないということのようです。

例1: JRE1.6の使用

  1. Eclipseで、[設定]->[Java]->[インストールされたJRE]をjdk1.6.0_32に設定します。
  2. 「設定」->「Java」->「コンパイラ」をコンプライアンスレベル1.6に設定します。
  3. Googleプラグインを使用して「新しいWebアプリケーション」を作成します
  4. ローカルで実行する-成功
  5. App Engineにデプロイし、リモートで実行する-成功

例2: JRE1.7の使用

  1. Eclipseで、[設定]->[Java]->[インストールされたJRE]をjdk1.7.0_04に設定します。
  2. 「設定」->「Java」->「コンパイラ」をコンプライアンスレベル1.7に設定します。
  3. Googleプラグインを使用して「新しいWebアプリケーション」を作成します
  4. ローカルで実行する-成功
  5. App Engineへのアップロード-失敗(サポートされていないmajor.minorバージョン51.0)
  6. Eclipseで、[設定]-> [Java]-> [コンパイラ]をコンプライアンスレベル1.6に設定します-失敗(ローカルでコンパイルされません(JavaコンパイラレベルがインストールされているJavaプロジェクトファセットのバージョンと一致しません)。

解決:

googleプラグインを使用してWebアプリケーションを作成する前に、JREとコンパイラのレベルを1.6に切り替えます(例1を参照)。

プロジェクトがすでに存在する場合は、プロジェクトにあまり慣れておらず、再度作成できることを願っています。

于 2012-05-23T05:39:16.280 に答える