繁体   English   中英

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

[英]How to access external JAR files from JavaScript using Rhino and Eclipse?

我正在使用Mozilla Rhino编写JavaScript服务器应用程序。 我想在我的项目中包含HttpClient类来轻松访问Web,但我无法弄清楚如何配置我的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文件加载到类而没有问题或额外的工作。

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

谢谢你的帮助!

在运行程序时,您是否确保httpclient-4.0.1.jar位于类路径中?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM