class 名称的最后一个字母存在语法错误

Syntax error on last letter of class name

我目前正开始学习 java 在 uni 的课程中​​,并且对 Sublime 中最基本的代码有疑问。尝试编译时出现此错误:

>>> javac HelloWorld.java
  File "<string>", line 1
    javac HelloWorld.java
                   ^
SyntaxError: invalid syntax

文件名显然是 "HelloWorld.java" 并且为了编译我将 "javac HelloWorld.java" 放入控制台。当我尝试用 mac 上的终端编译它时,它工作正常并创建了一个 .class。

public class HelloWorld {
    public static void main (String [] args) {
        System.out.println ("Hello World");
    }
}

您的问题是 Sublime 控制台(通过菜单中的 Ctrl+`View > Show Console 打开)不是终端.这是一个 Python 控制台,用于与 Sublime 内置的 Python 解释器进行交互。

为了编译您的代码,您应该确保构建系统(菜单中的 Tools > Build System)设置为 AutomaticJavaCAnt (但是您需要有一个 Ant 构建文件才能使用该构建系统)。

完成后,您可以从菜单中 select Tools > Build 来编译您的代码。您将在关联的菜单项旁边看到一个用于此的键绑定。

请注意,这只会将您的代码编译为 class 文件,而不会 运行。您可以在 this forum post 中查看我的回答,以获取有关如何设置它以一步完成编译和 运行 您的程序的更多信息(并说明为什么 Java 通常不是长的好主意 运行).

简而言之,您可以创建一个包含以下内容的文件,将其存储在您的 User 包中(Sublime Text > Preferences > Browse Packages... 会告诉您它在哪里)作为 MyJavaBuild.sublime-build,然后select MyJavaBuild 来自我上面引用的构建系统菜单,以便一步构建和编译。

{
    "shell_cmd": "javac $file_name && java $file_base_name",
    "working_dir": "${project_path:${folder}}",
    "selector": "source.java"
}