2017-03-24 8 views
0

私のJSP service()メソッドが許可された64kフットプリントを超えて実行されているシナリオを実行しました。この段階での明らかな答えは、「小さなスクリプトレットにカットし、カスタムタグの使用を制御する」と考えられます。しかし、私はいくつかの仕事をセットアップできるかどうか疑問に思っていました。 ANT/GRADLEを使用して、事前にJSPをコンパイルしてください。巨大なスクリプトレット/タグのためにどのJSPページが壊れるかを特定するのに役立ちますか?Java WebアプリケーションのJSPのコンパイル済みサイズの確認

更新私はjspcコンパイルタスクを自分のantビルドファイルに定義しています。私はfailOnError=falseでそれは完全なコンパイルを行うつもりだと仮定しています。しかし、私はshowSuccess属性を設定し、すべての成功メッセージを出力することができませんでした。

私のプロジェクトは非常に巨大で約1kのJSPページがあるからです。だから私は、これらの影響を受けたJSPを特定するために、より安価な解決策(または好きな場合は、労働オプション)を見つける必要があります。どんな提案も高く評価されます。

AntとJDK 8u125でTomcat 8.0.53を使用しています。

KR、

+0

私は似たような問題を抱えています、あなたはこれに対する解決策を見つけましたか? – Andrew

+0

本当に - 私はant/ivyビルドの一部としてJSPをプリコンパイルしました。しかし、それは問題を報告しません。私は、コンパイルエラーが存在しない場合、64kフットプリントエラーがポップアップすることを望んでいました。 – ha9u63ar

答えて

0

私は一時的にコンパイルされたJSPクラスファイルのリストを反復するコマンドラインJavaアプリケーションを書く)

1でこれを解決してきました。 2)ApacheのBCELを使用して、ファイルの各メソッドをチェックし、64kのサイズと比較して、どれが終了したかを調べます。 3)プリントアウトします。

Tomcatのクラスローディングは非常にユニークで、クラスローディング用のAntloader(つまり、Antコンパイラの使用法)を許可するには、tools.jar、ant.jar、およびant-launcher.jarがそこに存在する必要があります。だから私はその問題を特定する別の方法を考え出す必要があった。

また、私は自分のantビルドをどのように設定しても、webappを起動するまで、出力は64kサイズについて不平を言うことはないと思われます。私は別のスレッドを実行しているhere

関連する問題