1

拡張するクラスをパッケージ化する IBM Domino OSGi プラグインを構築していますHttpServlet

および(OSGi バンドルから抽出された)を使用して、Http 呼び出し ( getpostなど)を作成したいと考えています。Servletorg.apache.httpcomponents.httpclient_4.2.3org.apache.httpcomponents.httpcore_4.2.3

2 つのjarファイルをdomino\jvm\lib\extに追加し、file* に通常の変更をjava.policy加え、jar ファイルをビルド パスに追加しました。

サーバーを作成して使用するコードを追加するとDefaultHttpClient、次のエラーがスローされます。

java.lang.NoClassDefFoundError: org.apache.commons.logging.Logfactory

Domino の Java 実装では、ロギングが少し難しいテーマであることは知っています。興味深いのは、問題なく動作する NSF に含まれるサーブレットで同じコードを実行していることです。ただし、私の OSGi コンテキスト内では壊れます。を含む URL を使用してサーブレットを呼び出すと、/log.nsf/それでも壊れます。

どんな助けでもありがたく受け取った!

grant {
permission java.security.AllPermission;
};
4

2 に答える 2

0

XPages で以前に org.apache パッケージで問題が発生したことがあります。これは基本的に、ファイル システムにログを記録しようとして、セキュリティ ポリシーがそれを好まないためです。参照ライブラリなどとして追加すると、XPages ランタイムと同じ ClassLoader が使用されるため、サーバーからのものを使用しようとすると、NoClassDefFoundError が発生します。

OSGi プラグインの WebContent\WEB-INF\lib フォルダーに追加してみました。そのパスへの追加は、別の ClassLoader を使用するため、NSF で機能します。OSGi プラグインで発生している問題も回避できます。

于 2013-02-13T17:46:36.633 に答える