如何使 Sublime 编译文件到特定目录?

How can I make Sublime compile files to a specific directory?

我的老师给了我们一个他自己写的脚本供我们用来编译Java。我以特定的方式组织文件夹(不同于我们老师的),因为我喜欢我自己的组织方式。

我的文件夹结构:

prg/
├─ EasyGraphics.java
├─ class/
│  ├─ lab/
│     ├─ lesson/
│        ├─ GraphicsLesson.java
├─ libraries/
   ├─ eg/

他给我们的剧本:

  {
    "cmd": ["javac \"-Xlint:none\" \"-cp\" \".:..\" \"-encoding\" \"utf8\" \"$file_name\" "],   
    "shell": "true",
    "file_regex": "^(...*?):([0-9]*):?([0-9]*)",   
    "selector": "source.java", 
    "variants":
    [
      {
        "name": "Run",
        "cmd": ["java \"-cp\" \".:..\" \"$file_base_name\" "],
        "shell": "true"
      }
    ]
  }  

当我将 EasyGraphics 放在不同的文件夹时,脚本给我带来了麻烦,所以我将其编辑为:

"cmd": ["javac \"-Xlint:none\" \"-cp\" \"./../../../.\" \"-encoding\" \"utf8\"
"cmd": ["java \"-cp\" \"./../../../.\" \"$file_base_name\" "]

当我编译 GraphicsLesson.java 时,它会在 prg 目录中创建大量文件,但我想在 /libraries/eg 中创建它们 - 我该如何实现?

到目前为止我已经尝试过:

"cmd": ["javac \"-Xlint:none\" \"-cp\" \"./../../../.:libraries/eg\" \"-encoding\" \"utf8\"
"cmd": ["javac \"-Xlint:none\" \"-cp\" \"./../../../.:/libraries/eg\" \"-encoding\" \"utf8\"
"cmd": ["javac \"-Xlint:none\" \"-cp\" \"./../../../.\/libraries/eg\" \"-encoding\" \"utf8\"

还有更多,但似乎没有任何效果。

非常感谢任何帮助。谢谢。

好的,所以我设法弄清楚如何将它提取到单个子目录而不是子目录中的子目录:

    "cmd": ["javac \"-Xlint:none\" \"-cp\" \".:../../.././dir:../dir:../../dir\" \"-encoding\" \"utf8\" \"$file_name\" "],
    "shell": "true",
    "file_regex": "^(...*?):([0-9]*):?([0-9]*)",   
    "selector": "source.java", 
    "variants":
    [
      {
        "name": "Run",
        "cmd": ["java -cp .:../../.././dir:../dir:../../dir $file_base_name "],
        "shell": "true"
      }
    ]
  }