2015-10-06 54 views
-1

我試圖建立一個構建,以便我可以在崇高3中編譯和運行Java。我的構建系統不工作。Java Build in Sublime 3

"cmd": "java ${file_name} && java ${file_base_name}", 
"file_regex": "^[ ]file \"(...?)\", line ([0-9]*)", 
"path":"C:\\ProgramData\\Oracle\\Java\\javapath\\java.exe", 
"selector": "source.java", 
"shell":true 

我有這個構建保存到我的包,它出現在生成菜單,但是當我嘗試運行它時,它說沒有生成工作。

+2

'javac'是Java編譯器... – MattDMo

回答

1

有關如何構造.sublime-build文件的信息,請閱讀build system documentation"cmd""path"是列表,而不是字符串,所以這是您可能會收到錯誤的原因之一。正如我在評論中提到的,另一個原因是您正在嘗試使用java而不是javac來編譯您的.java文件。最後,您的"path"不正確—它應指向目錄列表,而不是文件。這可能對你更好:

{ 
    "cmd": ["javac", "${file_name}", "&&", "java", "${file_base_name}"], 
    "file_regex": "^[ ]file \"(...?)\", line ([0-9]*)", 
    "path": ["C:\\ProgramData\\Oracle\\Java\\javapath"], 
    "selector": "source.java", 
    "shell": true 
} 
+0

在我的情況下,路徑指向'C:\\ Program Files \\ Java \\ jdk1.8.0_66 \\ bin \\'。但請注意,Sublime Text可能不適合運行Java代碼。 [崇高文本論壇3](https://forum.sublimetext.com/t/using-sublime-text-3-as-a-java-ide/14156)爲此提供瞭解釋。 –

+0

@SoS我完全同意Sublime不是Java IDE的最佳選擇,儘管['Javatar'](https://packagecontrol.io/packages/Javatar)插件可以改善這一點。特別是對於初學者,Eclipse或IntelliJ或Netbeans或其他更好的選擇,因爲它們提供更好的代碼智能,內聯文檔,導入組織以及編譯複雜項目的能力。 – MattDMo

0

試試這個。它適用於Linux。不確定Windows。

{ 
    "cmd": ["javac '$realpath$file' && java $file_base_name && rm *.class"], 
    "selector": "source.java", 
    "shell": true, 
    "variants": [ 

     { 
      "name": "JavaDoc", 
      "cmd": ["mkdir documentation && javadoc -d documentation *.java"] 
     }, 

     { 
      "name": "JAR", 
      "cmd": ["javac '$realpath$file' && echo \"Main-Class: $file_base_name\" > Manifest.txt && jar cfm $file_base_name.jar Manifest.txt *.class && rm *.class && java -jar $file_base_name.jar"] 
     }, 


    ] 
} 

這對我的作品在Linux上,可以在Github在Java.sublime-build

有趣的下載是它也編譯文件JAR。編譯後刪除類,以使整潔的東西,它也支持生成JavaDocs。

唯一的限制是它不能在編譯時接受用戶輸入或參數。您必須在終端中手動執行此操作。