[Sublime-Text] Linux下用Sublime-Text3編譯輸出Java文件


  因為現在在借着經典的書籍鞏固一些基礎知識,所以會經常跑一些簡單的程序,可又不想開龐大的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.class
for file in $1
do
  echo "-Compiling $file.java ..."
  javac $file.java
done


if [ -f "$1.class" ]
then
  echo "------Output------"
  java $1
else
  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 即可看到輸出。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM