Eclipseでjunitを実行すると、これはすべて正常に機能します。jar を Oracle Serviec Bus にデプロイし、プロキシ経由で呼び出すと、問題が発生します。
私のjarはhttpClientとhttpCoreを使用しています.httpClientはhttpCoreにも依存しています。私のjarから参照されずにhttpclientがhttpcoreを参照すると問題が発生します。httpclient のマニフェストを編集して httpcore jar を持つようにすることで、外部 jar が他の jar を参照していることを証明しました。これを行うとすべてが機能しますが、期待どおりに外部jarを手動で編集したくありません!
私のマニフェストには、次のクラスパス セットがあります。 Class-Path: httpcore-4.3.jar httpclient-4.3.1.jar DatabaseUtil-1.0.jar commons-codec-1.8.jar
サーバーのクラスパスにjarを追加する作業を行っていますが、これは機能すると思いますが、同じjvmを使用する他のサービス/jarがあるため、これを行う別の方法があるかどうかを確認してください。問題の証拠を示すために、以下のテストクラスをコピーしました
どんな助けでも大歓迎です。
ありがとう、ダニエル。
public class CheckHTTPJars {
public static String checkHttpJarsLoaded()
{
try {
System.out.println("Starting...");
System.out.println("classpath: " + System.getProperty("java.class.path"));
HttpHost host = new HttpHost("test");
System.out.println("Hit HTTPCore... ");
BasicResponseHandler b = new BasicResponseHandler();
System.out.println("Hit HTTPClient... ");
HttpGet get = new HttpGet();
System.out.println("Hit HTTPClient but referencing HttpCore... ");
HttpRequest h = null;
System.out.println("Hit HTTPCore... ");
return("Passed");
} catch (Exception e) {
return (e.getMessage());
}
}
}