在eclipse中运行junit时,这一切都很好。当我将我的 jar 部署到 Oracle Serviec Bus 并通过代理调用它时,我遇到了问题。
我的 jar 使用了 httpClient & httpCore,httpClient 也对 httpCore 有一些依赖。当 httpclient 引用 httpcore 而没有从我的 jar 中引用时,就会出现问题。我已经证明这是通过编辑 httpclient 的清单以拥有 httpcore jar 来引用另一个的外部 jar。如果我这样做,所有工作都可以,但我不想像您期望的那样手动编辑外部 jar!
我的清单有这个类路径集: Class-Path: httpcore-4.3.jar httpclient-4.3.1.jar DatabaseUtil-1.0.jar commons-codec-1.8.jar
我正在努力将 jars 添加到服务器的类路径中,我认为这会起作用,但检查是否有另一种方法可以做到这一点,因为有其他服务/jars 使用相同的 jvm。我在下面复制了一个测试类以显示问题证明
任何帮助深表感谢。
谢谢,丹尼尔。
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());
}
}
}