java - 如何使用 Rhino 和 Eclipse 从 JavaScript 访问外部 JAR 文件?

标签 java javascript eclipse classpath rhino

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

我已将 js.jar(来自 Rhino)和 httpclient-4.0.1.jar 添加到我在 Eclipse 中的项目构建路径,并且在我的运行配置中我有从 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.

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

最佳答案

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

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

Rhino 应该能够毫无问题地从外部 jar 文件加载到类。

关于java - 如何使用 Rhino 和 Eclipse 从 JavaScript 访问外部 JAR 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2075467/

相关文章:

java - 在java mysql中同时处理多个请求

java - Android Google Map v2 - 在 map 上显示当前位置以及自定义标记的推荐方法是什么?

javascript - 在脚本标签内呈现样式表

javascript - 如何在对象中存储函数?

eclipse - 需要帮助在 Eclipse 中设置 (Tomcat) Web 应用程序以进行调试

带有 MongoDB 的 Java 堆空间

Java简单数字游戏当EditText为空时应用程序崩溃

java - EJB3 CMP + Hibernate AnnotationConfiguration 的编程配置

javascript - 将 JavaScript 对象转换为 HTML

eclipse - 使用 Maven 和 Eclipse Helios 创建完整的 EAR 项目