繁体   English   中英

如何从RingoJS访问自定义Java类?

[英]How to access custom Java classes from RingoJS?

我在Java中创建了一些类,并将它们组合到'org'命名空间中的单个包中。 如何从RingoJS访问它们?

我必须将软件包复制到Ringo的'src / org'目录中,还是必须从脚本中动态修改类路径?

我终于想出了如何在RingoJS中访问自定义Java类。 从来没有在我眼前看到它,我一定是非常愚蠢的。

在Rhino中,要访问自定义Java类,需要将它们添加到Java类路径中。 这可能很乏味,尤其是当没有任何编程知识的最终用户尝试安装需要特定Java类在类路径中的CommonJS包时。 如果我错了纠正我。 Tusk这样的包裹经理可能会为你做这件事,如果你能告诉我这个功能,我真的很感激。 但是,据我所知,最终用户有责任将Java类和/或jar文件添加到类路径中。

RingoJS简化了这一点。 它提供了一个全局函数addToClasspath(pathName) ,它将JAR文件或目录添加到类路径中。 因此,我们可能在CommonJS包的根目录中有一个Java包或JAR文件,并使用JavaScript文件本身中的addToClasspath函数自动将其添加到类路径中。 此外,默认情况下,RingoJS lib目录中的所有JAR文件都包含在类路径中。 这简化了很多事情。

出于编程目的,您可以将JAR文件添加到RingoJS lib目录中。 但是,我不推荐它。 减少耦合并保持RingoJS lib目录清洁(防止将来的命名空间问题); 为了方便最终用户的安装,我建议使用addToClassPath函数。 也许它应该在其他基于Rhino的CommonJS实现中实现。

暂无
暂无

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

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