1

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());
    }

  } 
}
4

2 に答える 2

0

結局、私は Ant に固執し、zipgroupfileset タグを使用しました。これにより、外部 jar クラスが jar にバンドルされます。これは、jar をバンドルするのではなく、クラスを抽出して jar にコピーしているため、少し面倒です。jar と、おそらく arkonautom からの Maven ソリューションをバンドルする方法があると確信しています (ちなみにありがとう)あなたのためにこれをしてください(私は時間がなくなったので、それを試すことはできませんでした).

私が思いついた他の解決策 - jar を $domain/lib フォルダーにコピーします。これも機能しましたが、jar をフォルダーにも展開する必要があるか、コードが表示されない Java コールアウトに問題がありました。調査に時間をかけませんでした - java.net URLConnection を使用してコードを書き直しました。これも機能しましたが、ローカルで実行しているときに認証に問題があったため、最終的に反対することにしました。

これが他の誰かに役立つことを願っています...

        <zipgroupfileset dir="lib">
              <include name="httpclient-4.3.1.jar"/>
              <include name="httpcore-4.3.jar"/>
              <include name="commons-codec-1.8.jar"/>
        </zipgroupfileset> 
于 2013-11-15T10:28:40.183 に答える