WebSphere App ServerがJSP / Tagライブラリをコンパイルしない
質問
これは、アプリケーションの更新時にのみ発生する問題です(CLIではなく、管理コンソールでのみテストされます)。また、これは開発環境でのみ発生しますが、これはprod envと同じです。アンインストール/インストール時に、すべてが適切にコンパイルされます。ただし、これは大規模なアプリケーションであり、更新を実行するのに十分な時間がかかります-毎回(特にビルド中に)アンインストール/インストールする必要はありません。
JSP .javaおよび.smapファイルは生成されますが、.classは生成されません。 prodには、.smapはありません。.javaと.classのみです。 JSPがコンパイルされる場合、タグライブラリもコンパイルされると考えられます。
この問題に直面した人や、見落としている可能性のある人を知っていますか
WASバージョン:6.1.0.17
編集:これは、1つのJSPとそれを使用するタグライブラリでのみ発生します。この問題のトラブルシューティングを試みています。何かわかったら教えてください。 thisごとの.SMAPファイルに問題があると思われます。修正
ソリューション
解決
解決策:
問題は:WASはデバッグを有効にしました。これにより、.classファイルの代わりに.smapファイル(ソースマッピング)が生成されました。これを発見したら、管理コンソールでデバッグサービスを無効にしました(アプリケーションサーバー> server1>デバッグプロセス> [サービスの開始]をオフにします)。更新時にのみバグが発生した理由はわかりませんが、いずれにしても、問題は解決します。
他のヒント
1つの提案:
環境に、JREだけでなくJDKを指すJAVA_HOMEがあることを確認しました。 JREにはjavacがないため、JSPコンパイラによって実行時に作成された.javaファイルを.classesにコンパイルする方法はありませんか?
編集:また、おそらくこのリンクが役立ちますか?
taglibを使用したことはありませんが、次のとおりです:
アプリケーションサーバーはタイムスタンプをチェックします。 " modified"が非常に確実であることJSPファイルのタイムスタンプは、アプリケーションサーバーの観点からは合理的です(たとえば、将来はそうではありません)。
問題の解決に役立つことを願っています...