14

プロジェクトはローカルでは正常に動作しますが、GAE サーバーにデプロイしようとすると、次のエラー メッセージが表示されます。

Unable to update app: Failed to compile the generated JSP java files.

これは主に、Java 7 から Java 6 に切り替えたときに発生しました。これは、明らかに GAE がまだそれをサポートしていないためです。GAE 1.7.4 を使用していますが、これは既知の問題ですか? プロジェクトの何が問題になっていますか? JSP内の構文ですか?私が GAE 1.7.4 を使い始める前にコンパイルしていましたが、これが始まった正確な原因はわかりません。

4

7 に答える 7

11

私は同じ問題を抱えていて、GAEの問題があると確信していました. しかし、いくつかの .jsp ファイルによって参照されている .java ファイルの名前を変更したのに、.jsp 内のファイル名が変更されていないことに気付きました。.jsp デプロイメントのファイル名を修正すると、正常に動作するようになりました。ああ。

GAE が JSP ファイルのコンパイルを開始する前は、エラーのある JSP ファイルは正常にデプロイされていたと思います。また、ローカルで実行している場合、JSP はアクセスされるまで明らかにコンパイルされないため、すべての JSP ファイルをローカルでテストしない限り、エラーに気付かない可能性があります。ただし、デプロイしようとすると、JSP のコンパイルが失敗し、デプロイが中止されます。残念ながら、問題が見つかった場所を示唆する適切なエラー メッセージはありません。

于 2013-02-04T20:03:32.833 に答える
5

EclipseでJavaファイルを再コンパイルして、エラーを確認しようとしました。
確認方法はこちらの方が良いと思います。

詳細はこちらのブログです。
http://nurinamu.tumblr.com/post/62384368766/how-to-detect-the-jsp-compile-error-when-deploy-to

于 2013-09-27T02:44:28.080 に答える
4

これと同じ問題がありました。通常はアクセスしない JSP によって呼び出されるメソッドのメソッド シグネチャを変更してしまいました。そのため、問題のある JSP に行ったことがないため、ローカルで実行するとすべて正常に動作しました。

これを解決する方法は、ローカルで実行し、プロジェクト内のすべての JSP に移動することです。最終的に、ブラウザ ウィンドウで完全なスタック トレースをローカルに表示する JSP にたどり着きました。その JSP のエラーを修正したところ、アプリ エンジンの運用環境に再びデプロイできるようになりました。

どの JSP が失敗しているかを GAE が報告できればもっとよいのですが、この手法は機能します。

于 2013-06-29T18:02:38.400 に答える
2

私は同じ問題で走っていました。はい、Eclipse とログに表示されるエラーは本当に役に立ちませんが、代わりにローカル dev サーバーにデプロイすると、非常に役立つエラー メッセージが表示されました。たとえば、私の場合は次のようになります。


HTTP エラー 500

/ へのアクセスに問題があります。理由:

JSP のクラスをコンパイルできません:

次の行でエラーが発生しました: jsp ファイルの 286: /dashboard.jsp

ローカル変数データストアの複製

283:   </head>
284:   <body onload="initialize()">
285:     <%
286:     DatastoreService datastore = DatastoreServiceFactory.getDatastoreService();
287: 
288:     UserService userService = UserServiceFactory.getUserService();
289:     User user = userService.getCurrentUser();

大きな頭痛を救った。

于 2013-02-14T06:35:01.627 に答える
1

nurinamu の回答は問題ありませんが、プロジェクトが複雑すぎて、appengine のステージング エリアで生成されたソース フォルダーをリンクする際に発生したエラーを解決できなかったため、うまくいきませんでした。しかし、私は自分の問題を解決することができました!

この方法は少し面倒ですが、最悪のシナリオでは、JSP をプロジェクトから移動し、問題の原因となっている JSP を絞り込んで見つけるまで、テスト デプロイを行います。

これが、問題の原因を突き止める唯一の方法でした。

アップデート

私にとって、エラーは appengine でサポートされていない不正なインポートでした。

于 2016-04-26T18:04:05.363 に答える
0

すべてのjspファイルがローカルで実行されることを確認してくださいrun and/or test all jsp files on your local. いずれかの jsp ファイルでエラーが発生している必要があります。

私はこの方法でこの問題を解決しました。

1 つの jsp ファイルにのみエラーがありますが、すべての jsp ファイルで同じエラーが表示されるため、すべてのファイルについて心配する必要はありません。

于 2015-08-26T18:50:12.467 に答える
0

JSP インクルードを使用する場合は、他のファイルにインクルードする JSP ファイルがすべて適切にインポートされていることを確認する必要があります。これは、テスト環境ですべてが正常に機能しているように見える場合でも同様です。

たとえば、というファイルがinc.jspあり、他のファイルに次のように含める場合:

<%@include file="inc.jsp" %>

inc.jsp次に、コンパイラが明示的に文句を言っていない場合でも、内部で適切なインポートがすべて存在することを確認する必要があります。

インクルード JSP のエラーを見つける簡単な方法は、開発サーバーの実行時にブラウザで開いてみることです。コンパイラが通知しなかった JSP エラーが表示されます。

これが、質問に記載されているエラーの原因の 1 つです。

于 2013-03-31T21:18:13.803 に答える