【问题标题】:How can I make Sublime compile files to a specific directory?如何使 Sublime 编译文件到特定目录?
【发布时间】:2021-09-22 14:31:49
【问题描述】:

我的老师给了我们一个他自己编写的脚本,供我们用来编译 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\"

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

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

【问题讨论】:

  • 您要问的问题是“如何让 javac 生成文件到特定文件夹”; Sublime 在执行构建时所做的并没有什么神奇之处,它只是运行你告诉它的内容。由你来制定一个执行你想要的命令。
  • 我明白了。那么,我该怎么做呢?

标签: java linux sublimetext3


【解决方案1】:

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

    "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"
      }
    ]
  }  

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-28
    • 1970-01-01
    • 1970-01-01
    • 2014-10-07
    相关资源
    最近更新 更多