我正在尝试在 Sublime Text 2 中编译和运行 Java 代码。不要只是告诉我在命令提示符中手动执行。谁能告诉我怎么做?
顺便说一句,我在 Windows 7 上...
我正在尝试在 Sublime Text 2 中编译和运行 Java 代码。不要只是告诉我在命令提示符中手动执行。谁能告诉我怎么做?
顺便说一句,我在 Windows 7 上...
这就是我添加到 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 ctrl。b第二个也是最后一个变体是 java 命令本身。你可以把它作为你的第一个变体,shift++ctrl将b实际执行 java 代码。
另外,请注意每个变体都是一个“名称”。这基本上允许这个特定的“构建”选项出现在shift++ctrl选项p中。因此,使用此配置,您只需执行shift++ctrl并p键入“Run Java”并点击enter,您的代码就会执行。
希望这有帮助。
我发现使用 Sublime Text 2 编译和运行 Java 程序一文中的方法效果很好,并且比其他方法更方便一些。这是存档页面的链接。
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 目录。
"cmd": ["javac", "$file"],
"cmd": ["runJava.bat", "$file"],
完毕!
编写程序并运行使用CTRL + B
注意:Sublime 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 将运行。
这个版本的 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
第 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
我正在使用 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 的帖子设置环境变量。最好的!!
参考解决方案: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文件,您可以按照自己的方式进行修改。
对于
“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/363820或http://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 )
您可以完全在 ST 中编译和运行您的代码,而且非常快速/简单。最近有一个名为 Javatar 的 ST 包可以做到这一点。 https://javatar.readthedocs.org
如此处详述:
http://sublimetext.userecho.com/topic/90531-default-java-build-system-update/
我采取的措施来解决这个问题
点击开始
右键单击“计算机”
2.5 单击属性。
在左侧选择“高级系统设置”
在底部附近单击“环境变量”
向下滚动“系统变量”,直到找到“路径”——选中此选项后单击编辑。
将路径添加到您的 Java bin 文件夹。我的最终看起来像这样:
代码:全选
;C:\Program Files\Java\jdk1.7.0_03\bin\
这是在 sublime text 3 中编译和运行 java 的代码
"shell_cmd": "javac -d .$file && java ${file_base_name}.${file_base_name}", "shell": true
我关注了这个线程中的一个帖子并让它完美地工作:
使用以下内容制作 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)并保存。
{
"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.
按照以下步骤,您将拥有 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
如果您是 mac 用户,请按照以下步骤操作:
打开终端通过键入转到您的根字典
光盘..
反复。利用
ls
看看你是否已经到达根
您将看到 Library 文件夹 现在按照此路径 Library/Java/JVM/bin 进入 bin 后,您可以看到 JavaC 文件
现在您需要获取此文件夹的路径,只需编写此命令
密码
将其复制粘贴到您的 sublime JavaC 文件中,然后通过 cmd+b 在 sublime 中构建 java 代码。
构建系统 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 构建文件
这就是我通过这些简单的步骤做到的:
设置一个新的构建系统:
工具 > 构建系统 > 新构建系统
将默认代码替换为以下内容:
{
"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'
通过给文件命名来保存文件(我将我的命名为“Java”)
激活构建系统:
这是我使用 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}\""
}
]
}
Alex Yao 的答案是最简单的解决方案,如果您只想构建和运行 Java 程序而不从控制台获取任何输入,请使用Alex Yao提供的解决方案。但是,如果您想从控制台获取输入,请参阅以下链接