Java JDK / Java JRE / Eclipse

Ich bin gerade ein wenig verwirrt. Folgende Ausgangssituation ist gegeben:

Ich programmiere Java in Eclipse (Juno) und verwende Java 7 Sprachfeatures (ArrayList<>(), String-Switch, …). In Eclipse ist auch eine Java 7 JRE hinterlegt.

Aber zum übersetzen der Programme wird Eclipse doch eine JRE nicht ausreichen, oder? Ich ging immer davon aus, dass Eclipse eine javac.exe dafür benötigt, und die gibt es nur in einem JDK, nicht im JRE.

Eine Suche nach javac.exe in meinem System fördert zwei zu Tage:

  1. C:\Program Files (x86)\Java\jdk1.6.0_16\bin\javac.exe
  2. C:\public\java\j2sdk1.4.1_02\bin\javac.exe

Beide werden kaum Java7-Quellen übersetzen können. Oder übersetzt Eclipse meinen Code nach Java6 und verwendet dann die Java 6 JDK?

Auch kann ich in Eclipse nur installierte JREs verwalten, ich hätte erwartet, auch eine JDK angeben zu müssen.

Kann da jemand Licht hinein bringen? Irgendwas muss ich falsch verstanden / angenommen haben.

Eclipse hat seinen eigenen Compiler und benötigt deswegen keinen JDK.

Eclipse hat seinen eigenen Compiler an Bord. Der werkelt im Hintergrund.

Das erklärt es und der scheint nicht als eine Datei "“javac.exe” vorzuliegen, sondern anders verpackt zu sein.

Danke euch beiden.

Jup. Der Compiler ist ein Teil des JDT Core.