在 Nashorn 中可以访问 java 的预定义类,
var ArrayList = Java.type('java.util.ArrayList');
var list = new ArrayList();
list.add('a');
list.add('b');
list.add('c');
同样可以在 java 脚本中访问我的类,如果是这样,我应该如何在类路径中添加我的 jar 以引用它????
var ArrayList = Java.type('com.example.exa');
最佳答案
您必须使用jrunscript
或jjs
的-classpath
选项。
-cp, -classpath (-cp path. Specify where to find user class files.)
Java 类:
package de.lhorn.so;
public class Foo {
public final static int ZERO = 0;
public static int i() {
return 1;
}
}
编译它:
$ javac de/lhorn/so/Foo.java
$ tree de
de
└── lhorn
└── so
├── Foo.class
└── Foo.java
使用它:
% jrunscript -cp .
nashorn> var Foo = Java.type("de.lhorn.so.Foo")
nashorn> Foo.ZERO
0
nashorn> Foo.i
[jdk.internal.dynalink.beans.SimpleDynamicMethod int de.lhorn.so.Foo.i()]
nashorn> Foo.i()
1
关于java - 如何在 Nashorn 的 javascript 中访问我的类中的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23102103/