2

コントロールパネルにあるユーザー管理ポートレットを拡張したい。jspをフックし、jspと同じフックにあるサービスビルダーのメソッドを使用したいと思いました。

問題は、jspがクラスを見つけられないことです。そこで、* -service.jarをtomcatlib / extフォルダーにコピーし、デプロイ時にフックから削除しました。

しかし、それはうまくいきません。しばらくすると、キャッシュが有効ではない、またはこのWebアプリケーションインスタンスがすでに停止しているという例外が発生します。

フックされたjspでカスタムサービスビルダーのメソッドを使用する方法はありますか?

4

1 に答える 1

1

あなたが取ったアプローチは正しいです。つまり、*-service.jar内側に入れ、フックからジャー[TOMCAT_HOME]/lib/ext取り外します。

このエラーは、フックが適切にアンデプロイされていないことが原因である可能性があります。このフォーラムの投稿からアイデアを得ることができます。したがって、私の提案は次のとおりです。

  1. フックをアンデプロイする
  2. サーバーを停止する
  3. jar をコピーします。[TOMCAT_HOME]/lib/ext
  4. 一時ディレクトリと作業ディレクトリをクリアする
  5. サーバーを再起動します
  6. フックをデプロイする

プラグイン プロジェクトからを削除しjar、ポートレットをアンデプロイせずにデプロイすると、デプロイされた のディレクトリjarにファイルがまだ存在することに気付く場合webapps/plugin-projectがあり、これも同様です。また、グローバル クラスパス (つまり[TOMCAT_HOME]/lib/ext) に何かを入れるたびに、サーバーを再起動する必要があります。

また、念のため、JSP のクラスを忘れないでくださいimport:-)。

于 2012-08-20T13:47:20.350 に答える