1

我正在使用 Mozilla Rhino 编写一个 JavaScript 服务器应用程序。我想在我的项目中包含 HttpClient 类以轻松访问网络,但我不知道如何配置我的 Eclipse 项目以让 Rhino 加载 HttpClient JAR 文件。

我在 Eclipse 中添加了js.jar(来自 Rhino)和httpclient-4.0.1.jar我的项目的构建路径,并且在我的运行配置中,我从 Rhino 的 js.jar(它找到)中指定了 Main 类,并且在我的 JavaScript 文件中我基本上是这样做的:

importPackage(org.apache.http.client.methods);
var get = new HttpGet("<some url returning json data>");
get.execute();
print(get.getResponseBodyAsString());

它没有说这个:

Exception in thread "Thread-0" org.mozilla.javascript.EcmaError: ReferenceError: "HttpGet" is not defined.

这怎么会这么难?我一定是在做一些根本错误的事情。

4

3 回答 3

3

如果您的类路径设置正确,我不明白为什么您的代码不应该工作。我建议尝试显式加载该类以查看它是否真的可用,否则您的类路径中似乎没有它:

println( java.lang.Class.forName( 'org.apache.http.client.methods.HTTPGet' ) );

Rhino 应该能够从外部 jar 文件加载到类而不会出现问题或额外的工作。

于 2010-01-16T03:52:18.610 回答
1

好的,问题似乎是我httpclient-4.0.1.jar在我的类路径和项目的构建路径中都有多个文件引用。除此之外,我似乎遗漏了几个依赖项httpclient-4.0.1.jar。在清理了我的类路径并将所有必要的 jar 添加到我的项目之后,它现在似乎可以按预期找到所有内容。

谢谢你们的帮助!

于 2010-01-16T12:08:29.747 回答
0

当你运行程序时,你确定它httpclient-4.0.1.jar在类路径中吗?

于 2010-01-16T03:29:09.483 回答