[英]how to access methods from my class inside javascript in Nashorn
在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。指定查找用户类文件的位置。)
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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.