在Mac下使用Sublime时,如果要编译java文件,直接使用command+B命令就可以达到编译的效果,此时会在java源文件的目录下生成对应的.class文件,但并不能执行Java代码。如何才能直接编译并运行java代码呢?
1.我用的版本是os x 10.10.5版本,自带jdk1.8,无需重新下载。
2.查看java版本 在终端里输入
/usr/libexec/java_home
效果如下:
/Library/Java/JavaVirtualMachines/jdk1.8.0_66.jdk/Contents/Home
3.在Sublime中安装Package Resource Viewer,具体操作步骤如下:
(1)ctrl+shift+p打开package control;
(2)输入Install Package;
(3)搜索Package Resource Viewer并安装。
4.修改Javac.sublime-build:
安装Package Resource Viewer就是为这一步服务。同上面的步骤,打开package control,输入PackageResourceViewer:Open Resource,回车后输入java,回车后输入Javac.sublime-build,就能够打开我们所需要修改的文件:
或者, 在sublime里 preferences->browse packages 找到java文件夹,再找到 JavaC.sublime-build ,打开进行更改:
{
"shell_cmd": "javac \"$file\" && java \"$file_base_name\"",
"file_regex": "^(...*?):([0-9]*):?([0-9]*)",
"selector": "source.java"
}
保存后关闭,打开java文件,command+b运行即可。
示例:
public class Test
{
public static void main(String[] args)
{
System.out.println("Hello World\n");
}
}
输出:
Hello World
[Finished in 1.5s]
PS:如果是windows系统,采用创建批处理或Bash Shell脚本文件
打开任意的文本编辑器,输入下面的内容,并保存为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
)
然后把runJava.bat批处理文件移动到JDK的bin目录,如 D:\Program Files\Java\jdk1.7.0_51\bin