2

Google Web Toolkitを使用して小さなアプリケーションを開発し、それをGoogle App Engine(GAE)サーバーにデプロイしたいと思います。デフォルトではEclipseJunoとJava7を使用していますが、GAEにデプロイしようとすると、まだJava7をサポートしていないことに気付きました。そこで、プロジェクト設定でJava 6 JREに切り替えました(ビルドパス/ライブラリを「java-6-openjdk-amd64」に設定し、Javaコンパイラ/コンパイラのコンプライアンスレベルを1.6に設定しました。

ただし、Google Eclipseプラグインを介してアプリをデプロイしようとすると、同じRuntimeExceptionがスローされます。

「アプリケーションにはJava7クラスが含まれていますが、-use_java7フラグが設定されていません。」

完全なデバッグ出力は次のとおりです。

Unable to update:
java.lang.RuntimeException: The application contains Java 7 classes, but the --use_java7 flag has not been set.
        at com.google.appengine.tools.admin.Application.createStagingDirectory(Application.java:576)
        at com.google.appengine.tools.admin.AppAdminImpl.doUpdate(AppAdminImpl.java:370)
        at com.google.appengine.tools.admin.AppAdminImpl.update(AppAdminImpl.java:53)
        at com.google.appengine.eclipse.core.proxy.AppEngineBridgeImpl.deploy(AppEngineBridgeImpl.java:433)
        at com.google.appengine.eclipse.core.deploy.DeployProjectJob.runInWorkspace(DeployProjectJob.java:148)
        at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:38)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53)

Googleプラグインが理解できるように、Java 7の残りを削除するにはどうすればよいですか?

これはすべてUbuntu12.1064ビットで実行されています。

4

2 に答える 2

4

おそらくJava 7インストールを使用してコンパイルしています。Eclipse で、[ウィンドウ] > [設定]に移動します。そこで、Java > Installed JREsを参照します。

右側のリストには、おそらく jre/jdk7 のみが表示されます。ここに Java 5 または 6 のインストールを追加し、それが「チェックされた」JRE であることを確認する必要があります。

その後、Project > Clean...を使用し、「Clean All Projects」を選択し、「Start a build immediately」が「build the whole workspace」とともにチェックされていることを確認します。

[編集:この回答はアンドロイド開発には正確ではありません...それに気付いたとき、クイック検索は、質問が不審に近いように見えることを示しました --use_java7 フラグが設定されていないため、 Google App Engine へのデプロイに失敗しました 、答えはおそらく同じです。]

于 2013-01-11T13:36:31.580 に答える
1

私が最終的にそれを助けることができた唯一の方法は、Eclipse で新しいプロジェクトを作成し、すぐに Java 6 (ビルド パス、コンパイラ、Java ファセット) に切り替え、以前のプロジェクトからすべてのファイルと GAE 設定をコピー アンド ペーストすることでした。

于 2013-01-13T16:07:05.800 に答える