【问题标题】:Javascript java.lang.runtime.getRuntime.exec() not working; "java is not defined", importPackage not workingJavascript java.lang.runtime.getRuntime.exec() 不工作; “未定义 java”,importPackage 不起作用
【发布时间】:2014-06-21 21:08:18
【问题描述】:

我正在尝试使用 Javascript 从 HTML 文件中执行 java 程序(具体来说,任务是从 HTML 界面激活 FTP 服务器,因此我需要从我的 HTML 页面上的函数执行 FTPServer 类)。我一直在尝试使用下面的代码来执行“程序”类,它应该简单地打印出“你好”。 Chrome 控制台显示“Uncaught ReferenceError: java is not defined”

    var p1 = java.lang.Runtime.getRuntime().exec("javac program.java");
    document.getElementById("test").innerHTML = "working";
    var p2 = java.lang.Runtime.getRuntime().exec("cmd /c java program");
    var stdInput = new java.io.BufferedReader(new java.io.InputStreamReader(p2.getInputStream()));
    var stdError = new java.io.BufferedReader(new java.io.InputStreamReader(p2.getErrorStream()));

我也尝试过 Packages.java.lang.Runtime... 我收到错误“未定义包”。我试过导入 java.lang 包:

importPackage(java.lang);

但我得到同样的错误,“未捕获的 ReferenceError: importPackage is not defined”

为什么 importPackage 不工作,我怎样才能让 Runtime 工作?

【问题讨论】:

  • 如果您试图在普通网页中的 JavaScript 代码中执行此操作,它将无法正常工作。 Java 根本无法像那样使用。您的代码(也许)可以在 Rhino 中工作,但那不会是普通网页中的代码,并且不会出现像 document 这样的代码。我想你可能误解了这个作业。

标签: javascript import runtime lang


【解决方案1】:

你正在尝试做的事情只有在犀牛身上才有意义。

根据Rhino Migration Guide,你可以试试这样的:

var Runtime = Java.type("java.lang.Runtime");

然后运行它

Runtime.getRuntime().exec("javac program.java");

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-05-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多