Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/404.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Rhino和Eclipse从JavaScript访问外部JAR文件?_Java_Javascript_Eclipse_Classpath_Rhino - Fatal编程技术网

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

如何使用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

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

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

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库。