[Sublime-Text] Linux下用Sublime-Text3编译输出Java文件
来源:互联网 发布:linux 编译器gdb 编辑:程序博客网 时间:2024/06/06 19:04
因为现在在借着经典的书籍巩固一些基础知识,所以会经常跑一些简单的程序,可又不想开庞大的IDE。所以就想试着用Sublime-Text来编译程序,哦,当然如果习惯的话,用 terminal 也可以。其实Sublime-Text里有编译功能,ctrl+B 即可,但编译后只是生成了 .class 文件,并没有执行,也就看不到结果。针对这一情况,需要一些配置文件的修改。我在网上查了一些方法,发现没有能用的,自己大概摸索了一下,找到了一个解决方法。当然,这个方法是以对付 JAVA 来做的,当然稍做修改也可以用来对付其他的语言。下面讲讲我理解的原理。
本文地址:http://www.cnblogs.com/rossoneri/p/4378339.html
在 Sublime-Text 的文件夹下有一个 Packages 文件夹,里面有很多针对各种语言的工具包。对付 JAVA 就需要打开 Java.sublime-package 。不用解压,直接打开文件 JavaC.sublime-build 。ctrl + B 编译就是通过这个文件执行的,可以看到内容是:
{"shell_cmd": "javac \"$file\"","file_regex": "^(...*?):([0-9]*):?([0-9]*)","selector": "source.java"}
难怪,编译的时候只执行了 javac ,所以只是生成 .class 文件。那我们现在需要执行文件得到结果,就需要从这一行命令入手。
打开 jdk 目录下的 /bin 。对,就是 javac 所在的目录,在里面我们新建一个脚本 runJava.sh :
#!/bin/bash[ -f "$1.class" ] && rm $1.classfor file in $1do echo "-Compiling $file.java ..." javac $file.javadoneif [ -f "$1.class" ]then echo "------Output------" java $1else echo " "fi
记得 chmod 777 ( 自己的环境权限设成 777 无所谓,不行就 755 ,反正必须可执行)
脚本的意思是 有一个文件 test.java ,获取其文件名 test 做参数, test.class 存在就将其删掉重新编译,编译成功就执行。(注意不要乱删空格)
然后注销计算机,重新登录,在终端输入 runJava.sh 命令是否存在( 其实只要系统能找到这个文件放哪都行,放 jdk 只是因为 jdk 安装后都会配置其环境,比较省事儿)
之后就修改 JavaC.sublime-build 文件,将第一行改成:
"shell_cmd": "runJava.sh \"$file_base_name\"",
把 javac 换成新加的命令,后面文件名, $file 代表 test.java,$file_base_name 代表 test,明显,我们的命令需要后者为输入。
修改后保存,重启 Sublime-Text ,让其重新加载修改后的工具包。打开文件, ctrl + B 即可看到输出。
- [Sublime-Text] Linux下用Sublime-Text3编译输出Java文件
- Sublime Text3 编译Java
- sublime text3下配置java编译环境
- 用sublime Text3编译java文件提示Decode error
- sublime text3编译python时没有输出
- sublime text下用less编译css
- Sublime Text3 编译多个文件
- linux和Windows下用sublime text3编译运行C,C++
- sublime Text3编译lua
- sublime text3中配置Java编译环境
- Linux下安装Sublime Text3及其破解
- sublime text3 linux下中文支持
- Linux下安装Sublime Text3及其破解
- Linux sublime text 关联文件
- sublime text3:Windouws下配置java环境
- Sublime Text 3 在OS X下配置Java编译
- Ubuntu 下 sublime text 3 java环境的编译
- Sublime Text3中编译运行JAVA控制台中文GBK编码无法输出的问题
- windows 安装mysql5.7.15
- 第十九期 基于HG255d_U-Boot的uIP移植《路由器就是开发板》
- 设计模式之建造者模式
- UVA 796 Critical Links(求桥)
- state框架分析,多态,接口,综合案例
- [Sublime-Text] Linux下用Sublime-Text3编译输出Java文件
- 算法练习4
- python数据结构学习笔记-2016-10-05-01-抽象数据类型(一)
- 分类问题中的交叉熵损失和均方损失
- java基础枚举和注解
- 【NOIP2016提高A组五校联考1】排队
- 仿微信的语音聊天记录,左右两个布局
- Android开源项目及库
- 剑指offer_把数组排成最小的数