【问题标题】:Compiling and Running Java Code in Sublime Text 2在 Sublime Text 2 中编译和运行 Java 代码
【发布时间】:2012-05-20 13:51:52
【问题描述】:

我正在尝试在 Sublime Text 2 中编译和运行 Java 代码。不要只是告诉我在命令提示符中手动执行。谁能告诉我怎么做?

顺便说一句,我在 Windows 7...

【问题讨论】:

  • 我已经尝试过那些...我得到这个:[错误2]系统找不到指定的文件[完成]
  • 这个问题在论坛的帖子中得到了解决。我认为您需要将 java 和 javac 添加到您的 PATH 中。
  • 在我的情况下,我只是尝试使用单个命令 Ctrl+B 在 Windows 7 的 Sublime Text 3 beta 中构建和运行单个 java 文件,将以下内容放在“ \Packages\Java\JavaC.sublime-build”文件(创建的文件夹/文件不存在)工作。根据需要更改 Java bin 目录。 { "cmd": ["javac", "$file_name", "&&", "java", "$file_base_name"], "shell": true, "path": "C:\\Program Files (x86)\ \Java\\jdk1.8.0_05\\bin", "file_regex": "^(...*?):([0-9]*):?([0-9]*)", "选择器" : "source.java" }
  • 郑重声明,下面的答案似乎都不支持比基本的 hello-world 类型的程序更复杂的东西。任何具有外部导入并需要为项目设置CLASSPATH 和/或传递cp 开关的程序都将不起作用。每次您想要处理不同的项目时,您要么需要修改构建系统,要么找到其他解决方案(只有自虐反社会者每次都会在操作系统级别修改 CLASSPATH 变量)。

标签: java compilation sublimetext2


【解决方案1】:

这就是我添加到 JavaC.sublime-build 文件中的内容

{
    "cmd": ["javac", "-Xlint", "$file"],
    "file_regex": "^(...*?):([0-9]*):?([0-9]*)",
    "selector": "source.java",

    "variants": [

        { "cmd": ["javac", "-Xlint", "$file"],
          "file_regex": "^(...*?):([0-9]*):?([0-9]*)",
          "selector": "source.java",
          "name": "Java Lintter"
        },  

        { "cmd": ["java", "$file_base_name"],
          "name": "Run Java"
        }
    ]
}

它的作用是创建常规构建命令 (ctrl+b) 的变体。使用 ctrl+b 你仍然可以编译你的代码。如果您执行 shift+ctrl+b 将执行第一个变体,在这种情况下是带有 -Xlint 选项的 javac。第二个也是最后一个变体是 java 命令本身。您可以将其作为您的第一个变体,而 shift+ctrl+b 将实际执行 java 代码。

另外,请注意每个变体都是一个“名称”。这基本上允许这个特定的“构建”选项显示在 shift+ctrl+p 选项中。因此,使用此配置,您只需执行 shift+ctrl+p 并输入“Run Java”并点击 enter,然后您的代码将执行。

希望这会有所帮助。

【讨论】:

  • 如果要使用ctrl+shift+b运行,请将“name”字段更改为“运行”。
  • ST3 已更改:* 用 shell_cmd 替换“cmd” * 删除方括号 * 将整个命令放在一个字符串中
  • +1 正如ST build-system docs 所说,构建命令不一定要编译文件,它们可以运行任何东西,包括编译后的程序。因此,this 答案是在不使用命令提示符的情况下从 ST(2) 编译 和运行 Java 的正确方法。 (事实上​​,TextPad 具有类似的定义和运行任意程序的能力,并且内置了对 Java 的支持,允许您绑定一个热键来编译和另一个热键来运行。)
  • 感谢这项工作。并感谢@mtyurt,将Run Java 更改为Run,现在按ctrl+shift+b 执行程序。
  • 在哪里可以找到*.sublime-build 文件?
【解决方案2】:

我发现帖子Compile and Run Java programs with Sublime Text 2 中的方法效果很好,并且比其他方法更方便一些。 Here 是存档页面的链接。

对于 Windows:

第 1 步:

使用以下代码创建runJava.bat

@ECHO OFF
cd %~dp1
ECHO Compiling %~nx1.......
IF EXIST %~n1.class (
DEL %~n1.class
)
javac %~nx1
IF EXIST %~n1.class (
ECHO -----------OUTPUT-----------
java %~n1
)

将此文件复制到jdk bin目录。

第 2 步:

  1. 使用 Preferences > Browse Packages..打开 Sublime 包目录。
  2. 转到 Java 文件夹
  3. 打开 JavaC.sublime-build 并替换行
    "cmd": ["javac", "$file"],

    "cmd": ["runJava.bat", "$file"],

完成!

使用CTRL + B编写程序并运行

注意:Sublime 3 的说明不同。

【讨论】:

    【解决方案3】:

    Sublime Text 3 的解决方案略有不同。这是我之前使用的 vijay 答案的修改。

     {
         "shell_cmd": "javac -Xlint \"${file}\"",
         "file_regex": "^(...*?):([0-9]*):?([0-9]*)",
         "working_dir": "${file_path}",
         "selector": "source.java",
    
         "variants":
         [
              {
                   "name": "Run",
                   "shell_cmd": "java \"${file_base_name}\""
              }
         ]
     }
    

    将以上内容粘贴到一个名为JavaC.sublime-build的新文件中,并将其放入您的用户包中。这可以在C:\Users\You\AppData\Roaming\Sublime Text 3\Packages\User 中找到。

    Ctrl-B 将编译。 Ctrl-Shift-B 将运行。

    【讨论】:

    • 干得好。这也适用于 Linux,尽管我似乎不需要额外的双引号和前导转义符号。 =:)。但它有效。谢谢。
    【解决方案4】:

    根据 vijay 的回答编辑的 JavaC.sublime-build 版本在 Windows 7 和 Mac 上都适用于 Sublime Text 3。

    我对其进行了编辑,因此 Ctrl+b 或 command+b 对于构建 + 运行都足够了。

    {
    "shell_cmd": "javac -Xlint $file && java $file_base_name",
    "file_regex": "^(...*?):([0-9]*):?([0-9]*)",
    "selector": "source.java",
    "shell": true
    }
    

    '&&' 确保第二部分仅在第一部分成功时运行,即仅在生成类文件时运行。您可以在这里找到更多相关信息:http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/ntcmds_shelloverview.mspx?mfr=true

    【讨论】:

    • 如果将shell_cmd 替换为cmd,此解决方案也适用于sublime text 2。这是唯一对我有用的解决方案。谢谢。
    【解决方案5】:

    按照 sublime text 2 nd 3 的文档编译和运行

    第 1 步: 如您所知,为 java 设置环境变量或参考某处

    strp-2: 打开新文档并复制下面的粘贴代码

    {
    "cmd": ["javac", "$file_name", "&&", "java", "$file_base_name"],
    "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
    "selector": "source.java",
    "shell":true }
    

    第三步: 将文档保存为 userjavaC.sublime-build 目录 C:\Users\myLapi\AppData\Roaming\Sublime Text 3\Packages\User

    第四步:

    完成后选择作为工具->构建系统->userjavaC

    编译和运行按ctrl+b

    【讨论】:

      【解决方案6】:

      我使用的是 Windows 7。以下解决方案适用于我!!

      **Open** the file JavaC.sublime-build and replace all the code in the file with the code below:
      
      {
       "cmd": ["javac", "$file_name","&&","java", "$file_base_name"],
       "file_regex": "^(...*?):([0-9]*):?([0-9]*)",
       **"path": "C:\\Program Files\\Java\\jdk1.6.0\\bin\\",**
       "selector": "source.java",
       "shell": true
       }
      

      记得将“C:\Program Files\Java\jdk1.6.0\bin\”替换为 放置 jdk 的路径。并确保将 java JDK 的路径添加到 环境变量“PATH”。参考 bunnyDrug 的帖子来设置 环境变量。最好的!

      【讨论】:

        【解决方案7】:

        参考解决方案: http://www.compilr.org/compile-and-run-java-programs/

        希望解决,在 sublime 中编译和运行类..... 您可以在 cmets 部分查看我的脚本以在 mac 的情况下进行尝试...

        编辑:不幸的是,上面的链接现在坏了。它详细介绍了在 sublime 文本中编译和运行 java 所需的所有步骤。无论如何,对于 mac 或 linux 系统,以下应该可以工作:

        修改 javac.sublime-build 文件为:


        #!/bin/sh
        
        classesDir="/Users/$USER/Desktop/java/classes/"
        codeDir="/Users/$USER/Desktop/java/code/"
        [ -f "$classesDir/$1.class" ] && rm $classesDir/$1.class
        for file in $1.java
        do
        echo "Compiling $file........"
        javac -d $classesDir $codeDir/$file
        done
        if [ -f "$classesDir/$1.class" ]
        then
        echo "-----------OUTPUT-----------"
        java -cp $classesDir $1
        else
        echo " "
        fi
        

        这里,我在桌面上做了​​一个名为“java”的文件夹,子文件夹“classes”和“code”分别用于维护.class和.java文件,大家可以自己修改。

        【讨论】:

        • 链接失效了,上面说了什么?
        【解决方案8】:

        这里详述:

        http://sublimetext.userecho.com/topic/90531-default-java-build-system-update/

        我采取的补救措施

        1. 点击开始

        2. 右键单击“计算机”

        2.5 点击属性。

        1. 在左侧选择“高级系统设置”

        2. 在底部附近点击“环境变量”

        3. 在“系统变量”上向下滚动,直到找到“路径” - 选中此选项后单击编辑。

        4. 将路径添加到您的 Java bin 文件夹。我的最终看起来像这样:

          代码:全选

          ;C:\Program Files\Java\jdk1.7.0_03\bin\

        【讨论】:

        • 这不起作用,我单击开始,右键单击计算机,我没有得到任何东西,只有一个菜单,而不是双菜单...我正在关注新波士顿教程,所以我已经做了 PATH 的东西
        【解决方案9】:

        对于 Sublime Text 3
        在“C:\Program Files\Sublime Text 3\Packages”中,您将获得 java.sublime-package 复制到另一个文件夹,将其扩展名从 .sublime-package 更改为 zip 并解压缩,您将获得 JavaC.sublime-build 文件以进行修改如上所述。
        在所有修改后提取的 java 文件夹再次转换为 .zip 并将其扩展名 .zip 更改为 .sublime-package。之后将此文件复制并粘贴到 C:\Program Files\Sublime Text 3\Packages。
        这会对你有所帮助!

        (即使你从http://upfile.mobi/363820http://www.4shared.com/file/73SkzY-Kba/Java.html 链接获取我的文件 我用来运行java代码我使用“Wesley Baugh”的技巧,所以你需要将runJava.bat文件复制到你的C:\ Program Files(x86)\Java\jdk1.8.0\bin目录,正如他所说。并将上面的链接文件复制到 C:\Program Files\Sublime Text 3\Packages)

        【讨论】:

          【解决方案10】:

          您可以完全在 ST 中编译和运行您的代码,而且非常快速/简单。 最近有一个名为 Javatar 的 ST 包可以做到这一点。 https://javatar.readthedocs.org

          【讨论】:

            【解决方案11】:

            这是在 sublime text 3 中编译和运行 java 的代码

            "shell_cmd": "javac -d .$file && java ${file_base_name}.${file_base_name}", “壳”:是的

            【讨论】:

              【解决方案12】:

              我关注了thread 中的一个帖子,并让它完美运行:

              使用以下内容制作 bat 文件,并将其保存在 PATH 中的任何位置。我建议 C:\Program Files\Java\jdk*\bin\ 将所有内容放在一起。

              @ECHO OFF
              cd %~dp1
              javac %~nx1
              java %~n1
              

              然后编辑C:\Users\your_user_name\AppData\Roaming\Sublime Text 2\Packages\Java\JavaC.sublime-build,内容为

              {
                 "cmd": ["javac", "$file"],
                 "file_regex": "^(...*?):([0-9]*):?([0-9]*)",
                 "selector": "source.java"
              }
              

              将“javac”替换为您的 bat 文件的名称(例如 javacexec.bat)并保存。

              【讨论】:

                【解决方案13】:

                按照以下步骤,您将拥有 2 个 sublime 构建系统 - “JavaC”和“JavaC_Input”。

                “JavaC”可以让你运行不需要用户输入的代码,并在sublime的终端模拟器中显示结果,既方便又好看。 “JavaC_Input”允许您在单独的终端窗口中运行需要用户输入的代码,它能够接受用户输入。你也可以在这个构建系统中运行不需要输入的代码,所以如果你不介意弹出窗口,你可以坚持使用这个构建系统,不要切换。 您可以从 Tools -> Build System 在构建系统之间切换。然后使用 ctrl+b 编译和运行代码。

                以下是实现此目的的步骤:

                (注意:请确保您已经具备java系统的基本设置:安装JDK并设置正确的CLASSPATH和PATH,我不会详细说明)

                “JavaC”构建系统设置

                1,用以下代码制作一个bat文件,并将其保存在C:\Program Files\Java\jdk*\bin\下,以便将所有内容放在一起。将文件命名为“javacexec.bat”。

                @ECHO OFF
                cd %~dp1
                javac %~nx1
                java %~n1
                

                2、然后编辑 C:\Users\your_user_name\AppData\Roaming\Sublime Text 2\Packages\Java\JavaC.sublime-build (如果没有,创建一个),内容为

                {
                   "cmd": ["javacexec.bat", "$file"],
                   "file_regex": "^(...*?):([0-9]*):?([0-9]*)",
                   "selector": "source.java"
                }
                

                “JavaC_Input”构建系统设置

                1、安装Cygwin [http://www.cygwin.com/]

                2、进入C:\Users\your_user_name\AppData\Roaming\Sublime Text 2\Packages\Java\,然后创建一个名为“JavaC_Input.sublime-build”的文件,内容如下

                {
                "cmd": ["javacexec_input.bat", "$file"],
                "file_regex": "^(...*?):([0-9]*):?([0-9]*)",
                "selector": "source.java"
                }
                

                3,用以下代码制作一个bat文件,并将其保存在C:\Program Files\Java\jdk*\bin\下,以便将所有内容放在一起。将文件命名为“javacexec_input.bat”。

                @echo off
                javac  -Xlint:unchecked %~n1.java 
                start cmd /k java -ea %~n1
                

                【讨论】:

                  【解决方案14】:
                  {
                  "shell_cmd": "javac -Xlint  \"${file}\"",
                  "file_regex": "^(...*?):([0-9]*):?([0-9]*)",
                  "working_dir": "${file_path}",
                  "selector": "source.java",
                  
                  "variants": [
                  
                      { "shell_cmd":"javac -Xlint  \"${file}\" && java $file_base_name  < input.txt > output.txt",
                        "name": "Run"
                      }
                     ]
                  }
                  

                  保存这个崇高的构建并使用 ctrl + shift + B 运行程序和运行变体。没有运行变体它只会创建 .class 文件但不会运行它。

                  此构建将从 input.txt 读取输入并在 output.txt 中打印输出。

                  注意:input.txt 和 output.txt 必须与 .java 文件位于同一工作目录中。

                  【讨论】:

                    【解决方案15】:

                    确保你先安装 JDK/JRE。

                    如果您是 mac 用户,请按照以下步骤操作:

                    打开终端输入

                    进入你的根字典

                    cd ..

                    反复。 使用

                    ls

                    看看你是否已经到达根目录

                    你会看到图书馆文件夹 现在按照这个路径 Library/Java/JVM/bin 进入 bin 后可以看到 JavaC 文件

                    现在你需要得到这个文件夹的路径,只需要写这个命令

                    密码

                    将其复制粘贴到您的 sublime JavaC 文件中,然后通过 cmd+b 在 sublime 中构建 java 代码。

                    【讨论】:

                      【解决方案16】:

                      Alex Yao 的答案是最简单的解决方案,如果您只想构建和运行 Java 程序而不从控制台获取任何输入,请使用 Alex Yao 提供的解决方案。但是,如果您想从控制台获取输入,请参考以下链接

                      Java console input in Sublime Text 2?

                      【讨论】:

                        【解决方案17】:

                        这是我使用 sublime text 3. 我需要在新窗口中打开命令提示符的选项。 Java compile 与 -Xlint 选项一起使用,以在 Java 中打开完整的警告消息。

                        我已将文件保存在我的用户包文件夹中 Java(Build).sublime-build

                        {
                             "shell_cmd": "javac -Xlint \"${file}\"",
                             "file_regex": "^(...*?):([0-9]*):?([0-9]*)",
                             "working_dir": "${file_path}",
                             "selector": "source.java",
                             "variants":
                             [
                                  {
                                       "name": "Run",
                                        "shell_cmd": "java \"${file_base_name}\"",
                                  },
                                  {
                                       "name": "Run (External CMD Window)",
                                       "shell_cmd": "start cmd /k java \"${file_base_name}\""
                                  }
                             ]
                        }
                        

                        【讨论】:

                          【解决方案18】:

                          构建系统 JavaC 的工作原理很吸引人,但当您想在 Sublime-text 中从标准输入提供输入时会失败。但是您可以编辑构建系统以使其接收来自用户的输入。这是我在 Ubuntu 18.04 LTS 上使用的修改后的 JavaC 版本。 您可以编辑构建系统或创建新的构建系统。

                          创建新的构建系统。

                          • 转到工具>>构建系统>>新构建系统
                          • 复制粘贴下面的代码并文件>>保存

                            {

                            "shell_cmd": "javac \"$file\"",
                            "file_regex": "^(...*?):([0-9]*):?([0-9]*)",
                            "selector": "source.java",
                            "variants": 
                            [
                                {
                                    "shell_cmd":"bash -c \"javac $file\" && gnome-terminal -- bash -c \"java $file_base_name ;read\"", 
                                    "name": "Run"
                                }
                            
                            ]    
                            

                            }

                          编辑现有的 Java C 构建文件

                          【讨论】:

                            【解决方案19】:

                            这就是我通过这些简单的步骤做到的:

                            设置新的构建系统:

                            1. 工具 > 构建系统 > 新构建系统

                            2. 用以下代码替换默认代码:

                              {
                                 "cmd": ["javac","$file_name","&&","java","$file_base_name"], 
                                 "path": "C:\\Program Files\\Java\\jdk1.7.0_25\\bin\\", 
                                 "shell": true
                              }
                              // locate the path of your jdk installation and replace it with 'path' 
                              
                            3. 给文件起个名字来保存文件(我把我的命名为“Java”)

                            激活构建系统:

                            1. 工具 > 构建系统 > Java(保存文件的名称)
                            2. 现在使用 Ctrl + B 运行您的程序

                            【讨论】:

                              猜你喜欢
                              • 2012-05-25
                              • 2023-03-10
                              • 2014-11-16
                              • 2013-01-15
                              • 2015-02-25
                              • 2014-10-08
                              • 2014-08-05
                              相关资源
                              最近更新 更多