80

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

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

4

19 回答 19

77

这就是我添加到 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++将执行第一个变体,在这种情况下是带有 -Xlint 选项的 javac ctrlb第二个也是最后一个变体是 java 命令本身。你可以把它作为你的第一个变体,shift++ctrlb实际执行 java 代码。

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

希望这有帮助。

于 2012-11-21T07:40:46.880 回答
19

我发现使用 Sublime Text 2 编译和运行 Java 程序一文中的方法效果很好,并且比其他方法更方便一些。是存档页面的链接。

对于 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 的说明不同。

于 2013-02-11T10:24:42.840 回答
16

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 将运行。

于 2014-10-10T16:57:08.257 回答
8

这个版本的 JavaC.sublime-build 是根据 vijay 的答案编辑的,适用于我在 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

于 2015-08-26T15:05:26.957 回答
7

根据 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 }

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

第4步:

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

编译和运行按ctrl+b

于 2016-01-14T11:59:35.667 回答
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 的帖子设置环境变量。最好的!!

于 2013-09-28T19:19:40.473 回答
3

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

希望能解决,在 sublime 中编译和运行类......你可以在评论部分看到我的脚本,以便在 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文件,您可以按照自己的方式进行修改。

于 2013-02-25T14:08:15.100 回答
2

对于
“C:\Program Files\Sublime Text 3\Packages”中的 Sublime Text 3,您将获得 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 )

于 2014-01-30T13:01:24.467 回答
2

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

于 2014-07-22T15:24:46.947 回答
2

如此处详述:

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\

于 2012-05-12T01:27:40.060 回答
2

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

"shell_cmd": "javac -d .$file && java ${file_base_name}.${file_base_name}", "shell": true

于 2017-05-24T18:26:40.390 回答
1

我关注了这个线程中的一个帖子并让它完美地工作:

使用以下内容制作 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)并保存。

于 2014-02-07T23:17:29.773 回答
1
{
"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"
    }
   ]
}

save this sublime build and run the program with ctrl + shift + B with run variant.Without run variant it will just create .class file but wont run it.

This build will read the input from input.txt and print the output in output.txt.

Note: both input.txt and output.txt must be present in the same working directory as your .java file.

于 2019-06-13T17:52:56.150 回答
1

按照以下步骤,您将拥有 2 个崇高的构建系统 - “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
于 2017-01-24T05:47:54.423 回答
0

确保首先安装 JDK/JRE。

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

打开终端通过键入转到您的根字典

光盘..

反复。利用

ls

看看你是否已经到达根

您将看到 Library 文件夹 现在按照此路径 Library/Java/JVM/bin 进入 bin 后,您可以看到 JavaC 文件

现在您需要获取此文件夹的路径,只需编写此命令

密码

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

于 2015-04-14T02:15:49.647 回答
0

构建系统 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 构建文件

于 2018-12-29T19:12:29.123 回答
0

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

设置一个新的构建系统:

  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 运行你的程序
于 2020-09-04T12:06:38.603 回答
0

这是我使用 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}\""
          }
     ]
}
于 2018-09-12T02:07:45.363 回答
0

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

Sublime Text 2中的Java控制台输入?

于 2018-08-12T13:28:47.403 回答