我想使用 Nashorn 控制台来替代 Rails c。例如,我想调用Java方法从远程系统导入数据并执行数据迁移。我发现这非常有趣:
https://www.baeldung.com/java-nashorn https://www.baeldung.com/java-nashorn
$JAVA_HOME/bin/jjs
jjs> print("test");
test
jjs>
例如,我如何从部署在 Wildfly 服务器上的 WAR 包中调用一些 Java 方法并传递一些参数?
您可以提出更好的替代方案吗?
参考Oracle的《Java Scripting Programmer's Guide》第3章,“从脚本中使用 Java http://Using%20Java%20From%20Scripts":
要从 JavaScript 访问原始类型和引用 Java 类型,请调用 Java.type() 函数,该函数返回一个类型对象,该对象与作为字符串传入的类的全名相对应。下面的例子展示了如何获取各种类型的对象:
var ArrayList = Java.type("java.util.ArrayList");
var intType = Java.type("int");
var StringArrayType = Java.type("java.lang.String[]");
var int2DArrayType = Java.type("int[][]");
Java.type() 函数返回的类型对象可以在 JavaScript 代码中使用,类似于在 Java 中使用类名的方式。例如,您可以使用它来实例化新对象,如下所示:
var anArrayList = new Java.type("java.util.ArrayList");
虽然你的问题对于你到底想做什么有点模糊。如果您在应用程序中使用 Nashorn,则使用它执行的脚本将有权访问应用程序所执行的 Java 类。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)