我安装了 Java 11。当我运行命令时java <filename.java>,为了编译和运行代码,它编译并运行程序,在 CMD 中显示输出,但它不生成任何.class文件。
你能向我解释为什么它不生成.class文件吗?
很长时间之后,我刚刚拿起我的Ubuntu机器进行一些与Java相关的工作,发现我已经安装了Java,但没有javac。
我用主要方法和简单的打印语句制作了一个Test.java文件。我在终端中写道:
java Test.java
我希望没有javac,它不应编译和运行,但是它将输出打印在我的控制台上。然后,我安装了一个JDK来启用javac并运行它:
javac Test.java  
这创建了一个Test.class文件。仍然要运行Test类,我需要输入内容,java Test.java并在输入java Test时抛出java.lang.NoClassDefFoundError。  
有人可以向我解释这些命令的背景如何吗?编辑:这是我的Test.java的内容:
package Learning;
public class Test {
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        System.out.println("Hello World!");
    }
}