如何使用Rhino和Eclipse从JavaScript访问外部JAR文件?
我正在使用Mozilla Rhino编写JavaScript服务器应用程序。我希望在我的项目中包含HttpClient类,以便轻松访问web,但我不知道如何配置Eclipse项目以使Rhino加载HttpClient JAR文件 我已经在Eclipse中将Rhino中的js.jar和httpclient-4.0.1.jar添加到我的项目的构建路径中,并且在我的运行配置中,我已经从Rhino的js.jar中指定了它找到的主类,在我的JavaScript文件中,我基本上是这样做的:如何使用Rhino和Eclipse从JavaScript访问外部JAR文件?,java,javascript,eclipse,classpath,rhino,Java,Javascript,Eclipse,Classpath,Rhino,我正在使用Mozilla Rhino编写JavaScript服务器应用程序。我希望在我的项目中包含HttpClient类,以便轻松访问web,但我不知道如何配置Eclipse项目以使Rhino加载HttpClient JAR文件 我已经在Eclipse中将Rhino中的js.jar和httpclient-4.0.1.jar添加到我的项目的构建路径中,并且在我的运行配置中,我已经从Rhino的js.jar中指定了它找到的主类,在我的JavaScript文件中,我基本上是这样做的: importPa
importPackage(org.apache.http.client.methods);
var get = new HttpGet("<some url returning json data>");
get.execute();
print(get.getResponseBodyAsString());
这怎么会这么难?我一定是做错了什么事。你运行程序时确保了httpclient-4.0.1.jar在类路径中了吗?你运行程序时确保了httpclient-4.0.1.jar在类路径中了吗?如果类路径设置正确,我不明白为什么你的代码不能工作。我建议您尝试显式加载该类,看看它是否真的可用,否则您的类路径中似乎没有该类:
println( java.lang.Class.forName( 'org.apache.http.client.methods.HTTPGet' ) );
Rhino应该能够从外部jar文件加载到类,而不会出现问题或额外的工作。如果类路径设置正确,我不明白为什么代码不能工作。我建议您尝试显式加载该类,看看它是否真的可用,否则您的类路径中似乎没有该类:
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文件的引用。除此之外,我似乎遗漏了httpclient-4.0.1.jar所依赖的几个依赖项。在清理了我的类路径并向我的项目中添加了所有必要的jar之后,它现在似乎找到了预期的一切
谢谢你们的帮助,伙计们 那么构建路径和类路径之间的区别是什么?我假设构建路径是在编译时还是什么的,类路径是在运行时?我已经将我的httpclient-4.0.1.jar添加到类路径文件夹中,如果我编写纯Java而不是JavaScript并通过Rhino运行它,它会完美地找到httpclient库。那么构建路径和类路径之间的区别是什么?我假设构建路径是在编译时还是什么的,类路径是在运行时?我已经将我的httpclient-4.0.1.jar添加到一个classpath文件夹中,如果我编写纯Java而不是JavaScript并通过Rhino运行它,它会完美地找到httpclient库。