Was ist der Unterschied zwischen "Java" in "jdk / bin /" und "jdk / jre / bin"?

13

Nachdem ich das Oracle-JDK heruntergeladen und entpackt habe, kann ich feststellen, dass zwei "Java" -Programmdateien in zwei verschiedenen Verzeichnissen vorhanden sind.

Welches sollte als primäre Basis verwendet werden. Oder sind beide an zwei verschiedenen Orten gleich?

TheManish
quelle

Antworten:

14

Der Inhalt von jdk/bin/ist das Java, das im Java Developers Kit enthalten ist. Das Java-Innere von jdk/jre/binwäre das Java der Java-Laufzeitumgebung.

Wenn Sie die JDK-Paketversion von Java haben, verwenden Sie die in jdk/bin/.

Aber sie sind gleich

Wenn man sich die ausführbaren Dateien ansieht, gibt es tatsächlich keinen Unterschied, also ist es wirklich egal.

$ pwd
/usr/java/jdk1.7.0_45

$ ll jre/bin/java
-rwxr-xr-x. 1 root root 7718 Oct  8  2013 jre/bin/java
[saml@greeneggs jdk1.7.0_45]$ ls -l bin/java
-rwxr-xr-x. 1 root root 7718 Oct  8  2013 bin/java

$ cmp jre/bin/java bin/java
$
slm
quelle
Okay! Deshalb frage ich mich, warum sie zwei ähnliche Dinge anbieten. Was ich getan habe, war, einfach das JDK-Paket auszupacken. Ich hoffe, dass die in jdk / bin enthaltene Version auf allen erforderlichen Stufen von JRE reibungslos funktioniert. Habe ich recht?
TheManish
4
@ManishShrestha - angesichts des Namens des Verzeichnisses, in dem es sich befindet, würde das auch meine Erwartung sein. Sie stellen die JRE selbst bereit, sodass Sie nur Apps ausführen können. Das JDK soll Apps entwickeln. Um herauszufinden, warum die JRE in JDK enthalten ist, müssen Sie sich an Oracle wenden.
SLM
1
Danke, dass du diesen Kumpel bemerkt hast. Ich werde versuchen, Oracle zu einer freien Zeit zu fragen. :)
TheManish
Dies beantwortet die Frage immer noch nicht richtig. Was ist der Zweck der javaausführbaren Datei in jdk / bin, da wir grundsätzlich eine vollständige JRE benötigen, um unsere Apps auszuführen? Natürlich muss Oracle hier eine Antwort geben.
Wget