【问题标题】:Java Build in Sublime 3Sublime 3 中的 Java 构建
【发布时间】:2016-01-02 19:32:42
【问题描述】:

我正在尝试建立一个构建,以便我可以在 sublime 3 中编译和运行 Java。我的构建系统无法正常工作。

"cmd": "java ${file_name} && java ${file_base_name}",
"file_regex": "^[ ]file \"(...?)\", line ([0-9]*)",
"path":"C:\\ProgramData\\Oracle\\Java\\javapath\\java.exe",
"selector": "source.java",
"shell":true

我已将此构建保存到我的包中,它出现在构建菜单中,但是当我尝试运行它时,它说没有构建工作。

【问题讨论】:

  • javac 是 Java 编译器...

标签: java sublimetext3


【解决方案1】:

请阅读build system documentation 以获取有关如何构建.sublime-build 文件的信息。 "cmd""path" 是列表,而不是字符串,所以这是您可能会收到错误的原因之一。正如我在 cmets 中提到的,另一个原因是您尝试使用 java 而不是 javac 编译您的 .java 文件。最后,您的"path" 不正确——它应该指向目录列表,而不是文件。这可能更适合您:

{
    "cmd": ["javac", "${file_name}", "&&", "java", "${file_base_name}"],
    "file_regex": "^[ ]file \"(...?)\", line ([0-9]*)",
    "path": ["C:\\ProgramData\\Oracle\\Java\\javapath"],
    "selector": "source.java",
    "shell": true
}

【讨论】:

  • 在我的例子中,路径指向 `C:\\Program Files\\Java\\jdk1.8.0_66\\bin\\`。但请注意,Sublime Text 可能不是运行 Java 代码的好选择。 forum of sublime text 3 对此进行了解释。
  • @SoS 我完全同意 Sublime 不是 Java IDE 的最佳选择,尽管 Javatar 插件在某种程度上改善了这一点。特别是对于初学者,Eclipse、IntelliJ 或 Netbeans 或其他更好的选择,因为它们提供更好的代码智能、内联文档、导入组织以及开箱即用编译复杂项目的能力。
【解决方案2】:

试试这个。它适用于Linux。不确定 Windows。

{
    "cmd": ["javac '$realpath$file' && java $file_base_name && rm *.class"],
    "selector": "source.java",
    "shell": true,
    "variants": [

        {
            "name": "JavaDoc",
            "cmd": ["mkdir documentation && javadoc -d documentation *.java"]
        },

        {
            "name": "JAR",
            "cmd": ["javac '$realpath$file' && echo \"Main-Class: $file_base_name\" > Manifest.txt && jar cfm $file_base_name.jar Manifest.txt *.class && rm *.class && java -jar $file_base_name.jar"]
        },


    ]
}

这适用于我在 Linux 上,可以在 Github 上Java.sublime-build 下载

有趣的是它还可以将文件编译为 JAR。编译后删除类,使事情更整洁,它还支持生成JavaDocs。

唯一的限制是它在编译时不能接受用户输入或参数。您必须在终端中手动执行此操作。

【讨论】:

    【解决方案3】:

    试试这个:

    {
        "file_regex": "(.+):(\\d+): error: ",
        "shell_cmd": "javac $file && java $file_base_name",
        "shell": true,
        "selector": "source.java",
    }
    

    它在 windows sublime text 3 上工作。

    【讨论】:

      【解决方案4】:

      JavaC.sublime-build 示例,用于在运行 java 代码时设置 java 类路径。

      {
        "shell_cmd": "javac -encoding utf-8 $file_name && java -cp .:/path/* $file_base_name && rm -rf $file_base_name.class",
        "file_regex": "^ *\\[javac\\] (.+):([0-9]+):() (.*)$",
        "selector": "source.java",
        "encoding": "utf-8"
      }
      

      【讨论】:

        【解决方案5】:

        试试这个。它在 Mac 上对我有用。

        第 1 步:转到 Sublime Text Preferences 并单击 Browse Packages。

        第2步:如果没有Java文件夹,则创建Java文件夹。

        步骤 3:创建 JavaC.sublime-build 并添加以下代码并保存。

        {
        "shell_cmd": "javac \"$file_name\" && java \"$file_base_name\"",
        "file_regex": "^(...*?):([0-9]*):?([0-9]*)",
        "selector": "source.java",
        
        "variants":
        [
            {
                "name": "Syntax Check",
                "shell_cmd": "javac \"$file_name\" && java \"$file_base_name\"",
            }
        ]}
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-10-21
          • 2015-03-01
          • 2013-10-14
          • 1970-01-01
          相关资源
          最近更新 更多