首页 > 解决方案 > 在 node.js 中编译多个 java 文件

问题描述

我试图连续编译 3 个 java 文件。

A.java
B.java
C.java

B.java 在其代码中提到了类 A。

通过使用setTimeout,我编译了 A 并等待了 10 秒。然后开始编译B。但是,B 有编译错误,

symbol A cannot be resolved.

当我尝试自己在终端中以相同的顺序做同样的事情时,它运行良好,没有任何编译错误。你能告诉我有什么问题吗?

下面是代码段;

const child_process = require('child_process');
/* ... */
function compileThreeFiles(dirPath, req, res) {
  child_process.exec(`javac ${dirPath}NodeJsInput.java`, (err) => {
    if (err) {
      console.log(err);
      res.json(resJson);
      return;
    }
    setTimeout(function() {
      child_process.exec(`javac ${dirPath}Robot.java`, (err) => {
        if (err) {
          console.log(err);
          res.json(resJson);
          return;
        }
        setTimeout(function() {
          child_process.exec(`javac ${dirPath}Main.java`, (err) => {
            if (err) {
              console.log(err);
              res.json(resJson);
              return;
            }
            setTimeout(function() {
              executeMain(dirPath, req, res);
            }, 10000);
          });
        }, 10000);
      });
    }, 10000);
  });
}

Robot.java 有一个 NodeJsInput 类的引用,编译器说 NodeJsInput : 找不到符号。

标签: javanode.js

解决方案


推荐阅读