Die meisten Websites im Internet sagen:
"Verwenden Sie den
javac
Befehl, um eine.java
Datei zu kompilieren . Führen Sie sie dann mit demjava
Befehl aus."
Aber heute habe ich versucht, ein Java-Programm ohne auszuführen, javac
und ich habe ein seltsames Ergebnis erzielt.
Hier ist der Inhalt einer Datei namens hello.java
:
public class Myclass {
public static void main(String[] args){
System.out.println("hello world");
}
}
Dann rannte ich:
$ javac hello.java
Was mir diesen Fehler gibt:
hello.java:1: error: class Myclass is public, should be declared in a file named Myclass.java
public class Myclass {
^
1 error
Aber wenn ich es ohne den javac
Befehl ausführe , wird es ohne Fehler ausgeführt.
$ java hello.java
hello world
Hat der java
Befehl auch das Programm zusammenstellen ? Wenn ja, warum brauchen wir den javac
Befehl?
Die Version meines Java ist:
openjdk version "12.0.2" 2019-07-16
OpenJDK Runtime Environment (build 12.0.2+10)
OpenJDK 64-Bit Server VM (build 12.0.2+10, mixed mode)
Myclass.java
und kompilieren Sie ihn dann über die Befehlszeile wie folgt javac Myclass.java
und führen Sie ihn dann so aus java Myclass
.
javac
immer noch zum Kompilieren verwendet, wenn Sie keinen Quellcode bereitstellen möchten oder wenn Sie mehr als eine einzelne Datei haben ( Dokumentation der java
Option für die Quelldatei:
javac
Kompiliert die Java-Quelle in JVM-spezifisch interpretierten Bytecode und der java
Befehl lädt ihn in den ClassLoader der JVM.