2015-11-05 192 views
2

我的Java bin被添加到路徑中,但仍無法找到我認爲的javac。Sublime找不到javac命令

這個東西在eclipse IDE中正常工作。

public class testing { 
    public static void main(String[] args) { 

     System.out.println("hi"); 
    } 
} 

以下是來自崇高文本2的錯誤。刪除了一些intel路徑,否則路徑太長。

[Error 2] The system cannot find the file specified 
[cmd: [u'javac', u'C:\\Users\.......\testing.Java']] 
[dir: C:\Users..... 
[path: C:\ProgramData\Oracle\Java\javapath;C:\Python27\;C:\Python27\Scripts;C:\Program Files (x86)\Intel\iCLS Client\;C:\Program Files\Intel\iCLS Client\;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Common Files\Intel\WirelessCommon\;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files\Java\jre1.8.0_45\bin;] 
[Finished] 

如果我在Sublime text 3中運行它,那麼錯誤如下。

'javac' is not recognized as an internal or external command, 
operable program or batch file. 
[Finished in 0.0s with exit code 1] 

我甚至嘗試過自定義構建,但顯示的錯誤是相同的,下面是自定義構建。

MyJava.sublime建造

{ 
    "cmd": ["javac", "$file_name", "&&", "java" ,"$file_base_name"], 
    "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)", 
    "path" : "C:\\Program Files\\Java\\jre1.8.0_45\\bin", 
    "selector": "source.java", 
    "shell":true 
} 

但請幫助由於這個我還沒有被使用崇高文字和與Eclipse繼續以爲讓我再試一次。

下面是我的Java文件夾。如所建議的,我將jdk添加到路徑中。

enter image description here

但是現在錯誤的改變如下。

javac: invalid flag: C:\........GitHub\HackerRank\testing.Java 
Usage: javac <options> <source files> 
use -help for a list of possible options 
[Finished in 0.3s with exit code 2] 
+0

我沒有得到,我該怎麼做,如果你會去我的路徑輸出,java bin文件夾到底有沒有,如果這就是你的意思。 – User

+0

找到一個說路徑引號引起這個問題的線程。你可以嘗試修改'sublime-build' –

+0

@MichaelQuatrani而不用引號,它會變成紅色。但即使如此,它也顯示了同樣的錯誤。 – User

回答

1

您的路徑具有jre(Java Runtime Environment)bin目錄,但沒有jdk(Java Development Kit),這是通常找到javac的地方。您需要找到您的JDK所在的位置,並將該目錄添加到您的路徑中。

+0

非常感謝,我從來不知道jre和jdk之間存在差異。我一直在嘗試這一個星期。現在我確定可以做到這一點。但現在錯誤改變了不同的東西,包括在後相同。 – User

+0

你的文件路徑中是否有空格?例如。如果您的文件位於「我的文檔」中,則會發生此錯誤。嘗試用引號包裝文件路徑。 –

+0

終於找到了它,這是由於使用'J'而不是'j' – User

1

首先,不要跳過如何構建和運行程序的細節。在日食它發生在默認情況下,我根本不知道路徑/ javac的/爪哇等

下面是關於這What does "Could not find or load main class" mean?

  1. 使用j一些偉大的細節文件名不J。 (test.java)
  2. javac test.java是用來編譯該程序導致test.class編譯的程序。
  3. 然後使用java test運行程序不java test.class
  4. 看仔細您的bin路徑應該是jdk,而不是jre
  5. 如果運行在崇高的文本程序然後ctrl+b只會編譯程序,而不是運行它。
  6. 要做到這一點,您可以使用下面的自定義生成與您的具體路徑的詳細信息。

Myjava.sublime,建立

{ 
    "cmd": ["javac", "$file_name", "&&", "java" ,"$file_base_name"], 
    "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)", 
    "path" : "C:\\Program Files\\Java\\jdk1.7.0_79\\bin", 
    "selector": "source.java", 
    "shell":true 
} 

這將編譯和運行在同一時間的節目。

+0

恭喜!!!感謝您發佈這個答案。 –