0

我已经 runMyJava.jjs (使用 Nashorn 从 JavaScript 中运行 Java)

var javaClass = Java.type('mypackage.MyJavaClass'); 
javaClass.hello();

跑步

package mypackage;

public class MyJavaClass {

    public static void main(String[] args) {
        System.out.println("hello from MyJavaClass.main ");

    }

}

但我明白了

Exception in thread "main" java.lang.RuntimeException: java.lang.ClassNotFoundException: mypackage.MyJavaClass
    at jdk.nashorn.internal.runtime.ScriptRuntime.apply(ScriptRuntime.java:382)
    at jdk.nashorn.tools.Shell.apply(Shell.java:381)
    at jdk.nashorn.tools.Shell.runScripts(Shell.java:310)
    at jdk.nashorn.tools.Shell.run(Shell.java:166)
    at jdk.nashorn.tools.Shell.main(Shell.java:130)
    at jdk.nashorn.tools.Shell.main(Shell.java:109)
Caused by: java.lang.ClassNotFoundException: mypackage.MyJavaClass
    at java.net.URLClassLoader$1.run(URLClassLoader.java:372)

从 Eclipse/Enide Studio 或终端中运行时jjs runJava.jjs

所有项目都在https://github.com/paulvi/JavaRoot

4

1 回答 1

0

我应该运行通过类路径

jjs -cp ./ runJava.jjs

请参阅http://docs.oracle.com/javase/8/docs/technotes/tools/unix/jjs.html

并且Java应该已经编译

javac *.java

如何在 Nashorn 的 javascript 中访问我的类中的方法

于 2014-12-08T10:36:20.217 回答