Sublime无法找到javac命令

时间:2015-11-05 00:40:33

标签: java sublimetext2 sublimetext

我的Java bin已添加到路径中,但仍然无法找到我认为的javac。

在eclipse IDE中可以正常工作。

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

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

以下是来自sublime文本的错误2.删除了一些英特尔路径,否则路径太长了。

[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文本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
}

请帮忙,因为我没有使用Sublime文本并继续使用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]

2 个答案:

答案 0 :(得分:2)

您的路径具有jre(Java运行时环境)bin目录,但没有jdk(Java Development Kit),这是通常找到javac的地方。您需要找到JDK所在的位置,并将该目录添加到您的路径中。

答案 1 :(得分:1)

首先,不要跳过有关如何构建和运行程序的详细信息。在eclipse中,默认情况下我甚至不知道path / javac / java等。

以下是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. 如果你在sublime文本中运行程序,那么ctrl+b将只编译程序而不运行它。
  6. 要做到这一点,您可以使用以下自定义构建和您的特定路径详细信息。
  7. 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
    }
    

    这将同时编译和运行程序。