在 Sublime Text 2 中编译和运行 Java 程序

Step #1 – 设置 Java PATH 变量

可以参考 这里

Step #2. 创建批处理或者Shell脚本

@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目录下。

Step #3 – 修改 Javac.sublime-build
按照以下的步骤修改sublime text 2的编译系统脚本。

    1. 在选项卡Preferences > Browse Packages.. 打开sublime的包目录
    2. 转到Java Folder
    3. 打开 JavaC.sublime-build 替换下面的命令行
"cmd": ["javac", "$file"],

在 Windows 下使用以下命令替换

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

Step #4 – 现在写个测试程序,使用CTRL+B 运行下试试吧!

按CTRL+~可看调试信息。

[错误一]在Sublime Text 2上搭建Java开发环境后,如果遇到报错,错误提示如下:

  1. Compiling Demo.java.......  

  2. [Decode error - output not utf-8]  

  3. [Decode error - output not utf-8]  

  4. [Finished in 0.5s]  

应该怎么办?
这是因为Java配置的编译环境的编码不正确,因为默认的Sublime Text 2的编码是UTF-8。

很简单,解决办法如下:

【解决办法】修改JavaC.sublime-build配置文件,添加如下行: "encoding":"cp936",

[错误二]

Traceback (most recent call last):
  File ".\sublime_plugin.py", line 325, in run_
  File ".\exec.py", line 145, in run
  File ".\exec.py", line 42, in __init__
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc0 in position 9: ordinal not in range(128)

找到配置文件目录位置(可以参考我的另一篇博文修改sublime Text 的默认配置文件位置

其中的Packages\Default\exec.py,打开编辑

找到第41-42行:

for k, v in proc_env.iteritems():

 proc_env[k] = os.path.expandvars(v).encode(sys.getfilesystemencoding())

两种修改方案:

1、果断删掉!(你没看错,就是这样)

2、对它进行异常处理,避免它出错时停止程序运行就像这样:

     for k, v in proc_env.iteritems():
            try:
                proc_env[k] = os.path.expandvars(v).encode(sys.getfilesystemencoding())
            except UnicodeDecodeError:
                print "Encoding error..."
                print "VARIABLE: ", k, " : ", v

然后你在尝试对pyhon或是其他程序的编译,就会发现切正常了!

参考文章:http://www.oschina.net/translate/compile-and-run-java-programs-in-sublime-text-2?cmp

原文地址:https://www.cnblogs.com/leonbond/p/2995651.html