在 Sublime Text 2 中编译和运行 Java 程序,以及输出中文出错问题解决办法
Sublime Text 2 是我最喜欢用来编码的文本编辑器,如果你尝试使用后相信你也会喜欢上它的。在这篇文章中我们将讨论如何在 Sublime Text 2
中编译和运行 Java 程序。
第一步:设置 Java PATH 变量
这是第一步也是最基本的一步,用来设置编译和运行 Java 程序基本命令如 javac 和 java 的存放路径。
在 Windows 下设置 PATH 路径的步骤:
- 右键“我的电脑”
- 选择“属性”
- 进入高级系统设置
- 找到并点击“环境变量”按钮
- 进入系统变量并找到 PATH 变量
- 粘贴 JDK 的 bin 目录到 PATH 变量值的最后
例如你的 JDK 的 bin 路径是 C:\Program Files\Java\jdk1.6.0_17\bin ,粘贴的效果如下图所示:

第二步:创建批处理或者Shell脚本
要想编译运行Java程序,需要创建一个批处理或者shell脚本
对于 Windows
使用下面代码创建文件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
)
(上面这个文件,将编译后的class文件存放在当前目录下,也不支持中文)
或
@ECHO OFF
cd %~dp1
ECHO %~dp1
ECHO Compiling %~nx1 .......
IF EXIST bin\%~n1.class (
DEL bin\%~n1.class
)
javac -encoding utf-8 -d bin %~nx1
IF EXIST bin\%~n1.class (
ECHO Compiled Ok.
ECHO -----------OUTPUT-----------
java -cp bin %~n1
)
(上面这个文件,将编译后的class文件存放在当前目录下的bin子目录中,并且也支持中文)
将这个文件复制到JDK的bin目录下
第三步: 修改 Javac.sublime-build
按照以下的步骤修改sublime text 2的编译系统脚本。
- 在选项卡Preferences > Browse Packages.. 打开sublime的包目录
- 转到Java Folder
- 打开 JavaC.sublime-build 替换下面的命令行
"cmd": ["javac", "$file"],
在 Windows 下使用以下命令替换
"cmd": ["runJava.bat", "$file"],
第四步:现在写个测试程序,使用CTRL+B 运行下试试吧!

可以看到控制台编译并运行了程序
另外,假如在编码中有中文,则通常在编译或运行时出错,如:

这是因为Java配置的编译环境的编码不正确,因为默认的Sublime Text 2的编码是UTF-8。
很简单,解决办法如下:
【解决办法】修改JavaC.sublime-build配置文件,添加如下行,如下图所示:

最后,一定要注意:使用sublime加载java文件时,目录中一定不要包含中文,否则无法加载!!!
在 Sublime Text 2 中编译和运行 Java 程序,以及输出中文出错问题解决办法的更多相关文章
- 在sublime Text 3上编写并运行java程序
参考 首先肯定是安装JDK配置环境变量,这个就不多说了. 第二步下载和安装sublime Text3. 第三步,创建一个批处理文件,命名为runJava.bat,放在JDK的bin下: @ECHO O ...
- 创建用于编译和运行Java程序的批处理文件
创建用于编译和运行Java程序的批处理文件 每次编译或运行Java程序时,都要在DOS命令行中输入很长的javac或java命令,悟空觉得太麻烦,就编写了一个适用于Windows操作系统的批处理文件b ...
- 在 Sublime Text 3 中配置编译和运行 Java 程序
参考网址:http://www.open-open.com/lib/view/open1388105023765.html 1. 设置 java 的 PATH 环境变量 2. 创建批处理或 Shell ...
- 【Java】【转】在命令行中编译和运行java
原文:http://blog.csdn.net/u010900574/article/details/50792353 同时加载编译多个jar包和java文件 在个人平常使用或者当我们把代码部署到Li ...
- 在linux命令行中编译和运行java文件
同时加载编译多个jar包和java文件 在个人平常使用或者当我们把代码部署到linux服务器上的时候,我们经常需要通过命令行编译和运行java文件,网上关于这个的方法大多是通过 javac -cp f ...
- 记录5-如何在UltraEdit中编译和运行Java
1点击“高级”,再点击“工具配置” 2点击“插入”,在“菜单项”名称上输入“编译java程序”,在“命令行”里输入“javac %n%e”,在工作目录上填“%p”. 3切换到“输出”项,选择“输出到列 ...
- 使用CMD命令编译和运行Java程序
对于初学者来说,使用CMD命令(Unix以及类Unix系统采用Termial)来编译和运行Java的好处是让初学者直观地体会到编译(Compile)这一步骤,加深记忆.所谓编译就是将文本文件xxx.j ...
- cmd命令行编译和运行java程序报错 NoClassDefFoundError
首先,当在运行java程序出现这个错误时,首先考虑是不是路径或者未指定正确的包名,例如当运行下面这个文件时: package cn.wgh.socket; public class HelloWorl ...
- 在Sublime Text 3中配置编译和运行Java程序
设置Java的PATH环境变量 在Java的jdk的bin目录下建立新文件runJava.bat 文件内容如下: @echo off cd %~dp1 echo Compiling %~nx1.... ...
随机推荐
- 特征根法求通项+广义Fibonacci数列找循环节 - HDU 5451 Best Solver
Best Solver Problem's Link Mean: 给出x和M,求:(5+2√6)^(1+2x)的值.x<2^32,M<=46337. analyse: 这题需要用到高中的数 ...
- js学习笔记23----窗口尺寸及窗口事件
窗口尺寸: 可视区的尺寸 document.documentElement.clientWidth document.documentElement.clientHeight 滚动距离 documen ...
- 关于javascript遍历对象
1:遍历对象属性var obj={a:'aa',b:'bb'} for(var i in obj) { alert(i); //输出 a b } var obj={'a':'aa','b':'bb'} ...
- 360 奇酷行车记录仪12967p 安霸a7
http://www.qikoo.com/che?utm_source=xingchejiluyi_360daohang_xialareci_0528&utm_medium=inside ht ...
- 【noip模拟题】藏宝图(prim)
好神的一题.. 一开始没想多久就看题解了QAQ.. 首先我们发现,这棵树任意两个点的边一定是最小的(即所有其它这两个点的路径都比这条边大,才有可能出解) 然后生成树后再算距离判断即可.. 注意特判n= ...
- 在其模块列表中有一个错误模块“ManagedPipelineHandler”。
C:\Windows\Microsoft.NET\Framework\v4.0.30319 命令行: aspnet_regiis -i
- 《Programming with Objective-C》第五章 Customizing Existing Classes
1.分类里面只新增函数,不要新增变量:虽然新增是语法合法的,但是编译器并不会为你的property合成相应的成员变量.setter和getter Categories can be used to d ...
- zoj 3362(最大费用)
题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=3904 思路:费用流的题,增加一个超级源点和一个超级汇点,然后就是连边 ...
- UE4关于编译配置的参考(Debug,DebugGame,Development,Shipping,Test等)
https://docs.unrealengine.com/latest/CHN/Programming/Development/BuildConfigurations/index.html 编译配置 ...
- $(document).scrollTop()与$(window).scrollTop()
$(document).scrollTop() 获取垂直滚动的距离 即当前滚动的地方的窗口顶端到整个页面顶端的距离 要获取顶端 只需要获取到scrollTop()==0的时候 就是顶端了 要获取底端 ...