KFH.006 - 如何在Sublime Text 3下運行Java?


Bruce_Zhu 于 2016.11.2
自主原創(chuàng)


如何在Sublime Text 3下運行Java拾积?

----------注:此blog所涉解決方法僅適用于Windows下Sublime Text 3所產(chǎn)生的問題

  • 說在最前
    博主在使用Sublime T3學(xué)習Web前端之后颇玷,感覺到了Sublime的強大,于是想拋棄碩大繁瑣的MyEclipse來撿回以前學(xué)習的Java用來Android開發(fā)荠医,但是我發(fā)現(xiàn)利用Sublime本身自帶的Javac編譯系統(tǒng)并不能有效地運行.java的文件,那么博主就開始找各種方法解決桑涎。費經(jīng)周折彬向,博主終于解決了這一個擾人的問題。那么首先攻冷,我們先來一次Sublime T3需要運行Java的正確的配置方法吧娃胆!

  • Sublime Text 3下Java運行環(huán)境配置
    第一步 —— 必備文件之一:runJava.bat
    首先,我們新建一個空白文本文檔等曼,Ctrl + C以下代碼:
    <pre>
    @ECHO OFF
    cd %~dp1
    ECHO Compiling %~nx1.......
    IF EXIST %~n1.class (
    DEL %~n1.class
    )
    javac -encoding UTF-8 %~nx1
    IF EXIST %~n1.class (
    ECHO -----------OUTPUT-----------
    java %~n1
    )
    </pre>
    將以上代碼Ctrl + V后里烦,再將文本文檔名“新建文本文檔.txt”更名為“runJava.bat”凿蒜,然后放入你自己電腦的JDK文件中的bin文件夾下。
    如何看自己電腦的JDK目錄胁黑?
    --- a.右擊"我的電腦"废封,打開“屬性”,點擊里面的“高級系統(tǒng)設(shè)置”

    我的電腦“屬性”

    --- b.在“高級系統(tǒng)設(shè)置”里面打開“高級”目錄下的“環(huán)境變量”
    高級系統(tǒng)設(shè)置

    --- c.在下方“系統(tǒng)變量”里找到“JAVA_HOME”丧蘸,雙擊打開即可看到路徑
    環(huán)境變量

    注:如果你安裝的是JRE的話漂洋,同樣適用,只是JRE是Java的運行環(huán)境力喷,而JDK是Java的開發(fā)環(huán)境刽漂,JDK向下包含JRE
    在知道了自己JDK路徑之后,將runJava.bat放入到JDK路徑的bin文件夾下
    bin文件夾

    第二步 —— 必備文件之二:JavaC.sublime-build
    JavaC.sublime-build這個文件是在Sublime T3安裝目錄下的弟孟,但是你會發(fā)現(xiàn)你并不能搜索到它爽冕,因為JavaC.sublime-build被包含在了:
    (你電腦上Sublime T3的安裝目錄)\Packages\Java.sublime-package中
    Java.sublime-package其實是一個.zip格式的壓縮包,你把它更名為Java.sublime-package.zip就可以解壓看到里面的JavaC.sublime-build文件了披蕉。注意!更名時千萬不要把后綴改成.rar或者其他壓縮格式后綴乌奇,否則會出錯没讲!
    更改了后綴以后把它移出來,放在主路徑礁苗,然后解壓縮:
    Java.sublime-package

    在Java.sublime-package的文件夾里面我們就可以找到JavaC.sublime-build文件了爬凑,我們用Sublime或者記事本打開,就可以看到里面的內(nèi)容了:
    JavaC.sublime-build源文件

    現(xiàn)在试伙,我們將一下代碼Ctrl + C一下嘁信,或者局部更改:
    <pre>
    {
    "shell_cmd": "runJava.bat "$file"",
    "file_regex": "^(...?):([0-9]):?([0-9])",
    "selector": "source.java",
    "encoding": "GBK"
    }
    </pre>
    更改后Ctrl + S保存,然后全選中Java.sublime-package文件夾中的文件:
    Java.sublime-package文件夾

    右擊任意文件疏叨,左擊“添加至壓縮文件”潘靖,然后
    壓縮格式選擇.zip格式,否則后續(xù)步驟會報錯**:
    壓縮格式

    再將Java.sublime-package.zip放入Packages文件夾中蚤蔓,并將.zip后綴刪去:
    刪去.zip后綴

    點擊“是(Y)”

    第三步 —— 打開Sublime T3檢驗
    隨便輸入一個Java程序卦溢,然后按住Ctrl + B或者菜單欄中“工具”->“立即編譯”:
    Java程序測試

  • 問題的產(chǎn)生
    對于Sublime運行不了Java的問題有很多種,除去Sublime本身編譯系統(tǒng)的問題可以用runJava.bat的方法解決外秀又,下面博主就根據(jù)自己親身經(jīng)歷過的和搜索時別人遇到過的問題進行一個匯總单寂。

  • 第一類 —— “Decode error”系列
    看得懂英文的人都能知道這是解碼的問題,問題的提示包括以下圖中若干相同的類型:

    Decode error - output not utf-8

    Decode error - output not GBK

    這個編碼的問題比較繁瑣吐辙,但是簡而言之就是修改文件中的編碼宣决,讓我們回到最開始兩個需要修改的文件代碼中:
    <pre>
    @ECHO OFF
    cd %~dp1
    ECHO Compiling %~nx1.......
    IF EXIST %~n1.class (
    DEL %~n1.class
    )
    javac -encoding UTF-8 %~nx1
    IF EXIST %~n1.class (
    ECHO -----------OUTPUT-----------
    java %~n1
    )
    </pre>
    runJava.bat文件中的代碼 ↑
    <pre>
    {
    "shell_cmd": "runJava.bat "$file"",
    "file_regex": "^(...?):([0-9]):?([0-9]*)",
    "selector": "source.java",
    "encoding": "GBK"
    }
    </pre>
    JavaC.sublime-build文件中的代碼 ↑
    這兩個文件中都有可以更改碼制的地方:
    runJava.bat文件中的第7行
    <pre>
    javac -encoding UTF-8 %~nx1
    </pre>
    這里的碼制“-encoding UTF-8”是編碼制式,這里通過UTF-8碼制來編碼
    JavaC.sublime-build文件中的第5行
    <pre>
    "encoding": "GBK"
    </pre>
    這里的碼制“ 'encoding': 'GBK' ”也是編碼制式昏苏,這里通過GBK碼制來編碼
    那么如果遇到的是“Decode error”的問題尊沸,就要從編碼解碼的方式入手
    我們可以修改這兩處的編碼制式來檢測(博主能力有限威沫,不知道編碼制式該如何查看),一般常用的中文簡體編碼制式有:“GBK”椒丧、“UTF-8”壹甥、“cp936”等。
    其實最簡單的方法壶熏,就是可以試一試博主所設(shè)置的編碼制式畢竟博主的Sublime T3是可以運行的句柠,并沒有出現(xiàn)編碼的錯誤。
    如果編碼問題還是得不到解決棒假,那么請找找神奇的度娘吧溯职!

  • 第二類 —— “javac: 無源文件”系列問題
    此類問題大致包含兩種,一種是編譯器提示:javac: 無源文件帽哑;

    javac:無源文件

    另一種是如圖所示的問題:
    javac <options> <source files>

    其實這類問題的產(chǎn)生只能怪我們自己粗心了谜酒,這類問題的根本原因就是我們沒有保存.java文件,如果你將你現(xiàn)在的.java文件Ctrl + S保存一下妻枕,你就會發(fā)現(xiàn)編譯通過了僻族。

  • 第三類 —— “類#是公共的,應(yīng)在名為#.java的文件中聲明”問題
    問題的產(chǎn)生如圖所示:

    類#是公共的屡谐,應(yīng)在名為#.java的文件中聲明

    編譯器提示“類#是公共的述么,應(yīng)在名為#.java的文件中聲明”,這其實就是說明我們在定義一個公共類名的時候愕掏,需要與我們保存的.java文件名保持相同,如圖中我的.java名為NewTest1.java饵撑,然而我定義的公共類名為Hello滑潘,所以才會產(chǎn)生這一個的問題语卤。
    其實這一點怪博主的粗心粱侣,剛用Sublime編譯Java程序的時候,我們可能不會意識到這一點齐婴,因為在MyEclipse里直接一串命名下來不會覺得有什么不對柠偶,然而當用Sublime要自主命名時可能會一時間沒反應(yīng)過來,在這里專門提醒一下大家电爹。

  • 第四類 —— “找不到或無法加載主類#”
    這一類的問題產(chǎn)生多是因為Java的環(huán)境變量未能配置好丐箩,這里引入別人的經(jīng)驗給大家:http://blog.csdn.net/wangjiaweiwei/article/details/42212525
    博主遇到這類問題的時候屎勘,是因為剛剛配置完Sublime Text 2的Java環(huán)境后未進行Sublime的重啟概漱,所以重啟一下Sublime就可以了瓤摧。

  • 說在最后
    這里博主就幫大家解決問題到這里姻灶,后續(xù)如果你還有遇到什么問題,可以在下方評論中告訴博主敢会,博主會后續(xù)更新鸥昏,謝謝吏垮!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市遗嗽,隨后出現(xiàn)的幾起案子痹换,更是在濱河造成了極大的恐慌娇豫,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,542評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異郭计,居然都是意外死亡昭伸,警方通過查閱死者的電腦和手機澎迎,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,822評論 3 394
  • 文/潘曉璐 我一進店門灵份,熙熙樓的掌柜王于貴愁眉苦臉地迎上來填渠,“玉大人氛什,你說我怎么就攤上這事枪眉∶惩” “怎么了蒿秦?”我有些...
    開封第一講書人閱讀 163,912評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長鹊杖。 經(jīng)常有香客問我骂蓖,道長登下,這世上最難降的妖魔是什么被芳? 我笑而不...
    開封第一講書人閱讀 58,449評論 1 293
  • 正文 為了忘掉前任剩晴,我火速辦了婚禮赞弥,結(jié)果婚禮上绽左,老公的妹妹穿的比我還像新娘。我一直安慰自己鲁纠,他們只是感情好,可當我...
    茶點故事閱讀 67,500評論 6 392
  • 文/花漫 我一把揭開白布刃唤。 她就那樣靜靜地躺著尚胞,像睡著了一般笼裳。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,370評論 1 302
  • 那天,我揣著相機與錄音史汗,去河邊找鬼。 笑死怜森,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的恐疲。 我是一名探鬼主播,決...
    沈念sama閱讀 40,193評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼玷室,長吁一口氣:“原來是場噩夢啊……” “哼穷缤!你這毒婦竟也來了章喉?” 一聲冷哼從身側(cè)響起落包,我...
    開封第一講書人閱讀 39,074評論 0 276
  • 序言:老撾萬榮一對情侶失蹤遏片,失蹤者是張志新(化名)和其女友劉穎髓需,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體僚匆,經(jīng)...
    沈念sama閱讀 45,505評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡微渠,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,722評論 3 335
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了咧擂。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片逞盆。...
    茶點故事閱讀 39,841評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖松申,靈堂內(nèi)的尸體忽然破棺而出云芦,到底是詐尸還是另有隱情,我是刑警寧澤贸桶,帶...
    沈念sama閱讀 35,569評論 5 345
  • 正文 年R本政府宣布舅逸,位于F島的核電站,受9級特大地震影響皇筛,放射性物質(zhì)發(fā)生泄漏琉历。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,168評論 3 328
  • 文/蒙蒙 一水醋、第九天 我趴在偏房一處隱蔽的房頂上張望旗笔。 院中可真熱鬧,春花似錦离例、人聲如沸换团。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,783評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春耀盗,著一層夾襖步出監(jiān)牢的瞬間想虎,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,918評論 1 269
  • 我被黑心中介騙來泰國打工叛拷, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留舌厨,地道東北人。 一個月前我還...
    沈念sama閱讀 47,962評論 2 370
  • 正文 我出身青樓忿薇,卻偏偏與公主長得像裙椭,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子署浩,可洞房花燭夜當晚...
    茶點故事閱讀 44,781評論 2 354

推薦閱讀更多精彩內(nèi)容