karaf の deploy フォルダーに httpclient-4.3.4.jar をデプロイしています。ターミナルで find-class HttpClients コマンドを使用すると、何も表示されません。キーワード find-class HttpClient を使用すると、httpclient バンドル用にロードされた次のクラスのみが取得されます。一部のクラスが欠落しているため、依存バンドルの 1 つで java.lang.NoClassDefFoundError: org/apache/http/impl/client/HttpClients を取得しています。
一部のクラスが利用できない理由を知る必要があります。独自のバンドルである場合は、インポートとエクスポートを指定して、公開する必要があるクラスを制御できます。しかし、外部ジャーの場合、なぜこれが起こっているのでしょうか?
httpclient (202) org/apache/http/HttpClientConnection.class org/apache/http/client/HttpClient.class org/apache/http/client/params/HttpClientParams.class org/apache/http/client/utils/HttpClientUtils.class org/apache/http/impl/AbstractHttpClientConnection.class org/apache/http/impl/DefaultHttpClientConnection.class org/apache/http/impl/SocketHttpClientConnection.class org/apache/http/impl/client/AbstractHttpClient.class org/apache/ http/impl/client/AutoRetryHttpClient.class org/apache/http/impl/client/ContentEncodingHttpClient.class org/apache/http/impl/client/DecompressingHttpClient.class org/apache/http/impl/client/DefaultHttpClient.class org/ Apache/http/impl/client/SystemDefaultHttpClient.class