5 pièce(s) jointe(s)
Comment lancer, configurer ou forcer Eclipse à utiliser le JDK Oracle au lieu de son propre JDK interne ?
Bonjour,
J'aimerais développé des applications en Java 7.
Par contre, j'ai appris que les premières versions de java 7 soufraient de sérieux problèmes de sécurité 29 failles dont deux très graves).
En fait, depuis peu une nouvelle version de Java7 update 7 (du 31 août 2012) contenant des correctifs est désormais disponible en téléchargement. Je l'ai donc téléchargé puis installé avec succès.
Ensuite, j'ai téléchargé la version Eclipse Classic 4.2 et l'ai lancé sans problème. Cette version à une date de build du 08/06/2012. Ce qui signifie qu'elle n'intègre pas le JDK corrigé.
Donc, j'aimerais qu'Eclipse se base sur ce "JDK 7u7" pour compiler mes programmes et non sur son compilateur interne.
Voici les détails détails qui m'inquiètent concernant cette version d'Eclipse :
org.eclipse.jdt (3.8.0.v20120525-1249-8-8nFqlFNOfwKDRGz-pXLdGxEM83) "Eclipse Java Development Tools"
(v20120525 = 25 Mai 2012 ?)
et
org.eclipse.sdk (4.2.0.v20120528-1648-7T7oDFDPz-3FepgRqG6kkFFY0UF4_otgmt0XcoU3Zh27X) "Eclipse Project SDK"
(v20120528 = 28 Mai 2012 ?)
Si le JDT et le SDK (inclus dans Eclipse) date de Mai 2012, alors les programmes Java qui seront compilés avec cet Eclipse seront toujours exposés aux 29 failles de sécurité. C'est pour cela que je tiens vraiment à ce qu'Eclipse utilise obligatoirement le "dernier" JDK de Java "7u7".
Voici une autre partie de la configuration d'Eclipse avec des liens importants.
Citation:
*** Platform Details:
*** System properties:
applicationXMI=org.eclipse.ui.workbench/LegacyIDE.e4xmi
awt.toolkit=sun.awt.windows.WToolkit
eclipse.application=org.eclipse.ui.ide.workbench
eclipse.buildId=I20120608-1400
eclipse.commands=-os
win32
-ws
win32
-arch
x86
-showsplash
C:\eclipse-SDK-4.2\\plugins\org.eclipse.platform_4.2.0.v201206081400\splash.bmp
-launcher
C:\eclipse-SDK-4.2\eclipse.exe
-name
Eclipse
--launcher.library
C:\eclipse-SDK-4.2\\plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.200.v20120522-1813\eclipse_1503.dll
-startup
C:\eclipse-SDK-4.2\\plugins/org.eclipse.equinox.launcher_1.3.0.v20120522-1813.jar
--launcher.overrideVmargs
-vm
C:\Program Files\Java\jre7\bin\client\jvm.dll
eclipse.home.location=file:/C:/eclipse-SDK-4.2/
eclipse.launcher=C:\eclipse-SDK-4.2\eclipse.exe
eclipse.launcher.name=Eclipse
eclipse.p2.data.area=@config.dir/../p2
eclipse.p2.profile=SDKProfile
eclipse.product=org.eclipse.sdk.ide
eclipse.startTime=1348312390609
eclipse.vm=C:\Program Files\Java\jre7\bin\client\jvm.dll
eclipse.vmargs=-Xms40m
-Xmx512m
-XX:MaxPermSize=256m
-Djava.class.path=C:\eclipse-SDK-4.2\\plugins/org.eclipse.equinox.launcher_1.3.0.v20120522-1813.jar
equinox.use.ds=true
file.encoding=Cp1252
file.encoding.pkg=sun.io
file.separator=\
gosh.args=--nointeractive
java.awt.graphicsenv=sun.awt.Win32GraphicsEnvironment
java.awt.printerjob=sun.awt.windows.WPrinterJob
java.class.path=C:\eclipse-SDK-4.2\\plugins/org.eclipse.equinox.launcher_1.3.0.v20120522-1813.jar
java.class.version=51.0
java.endorsed.dirs=C:\Program Files\Java\jre7\lib\endorsed
java.ext.dirs=C:\Program Files\Java\jre7\lib\ext;C:\WINDOWS\Sun\Java\lib\ext
java.home=C:\Program Files\Java\jre7
java.io.tmpdir=C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\
java.library.path=C:\eclipse-SDK-4.2;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;C:/Program Files/Java/jre7/bin/client;C:/Program Files/Java/jre7/bin;C:/Program Files/Java/jre7/lib/i386;C:\Program Files\Fichiers communs\Microsoft Shared\Windows Live;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\Fichiers communs\HP\Digital Imaging\bin;C:\Program Files\HP\Digital Imaging\bin\;C:\Program Files\HP\Digital Imaging\bin\Qt\Qt 4.3.3;C:\Program Files\QuickTime\QTSystem\;C:\Program Files\Fichiers communs\Microsoft Shared\Windows Live;C:\Program Files\Fichiers communs\Microsoft Shared\Windows Live;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\Fichiers communs\HP\Digital Imaging\bin;C:\Program Files\HP\Digital Imaging\bin\;C:\Program Files\HP\Digital Imaging\bin\Qt\Qt 4.3.3;C:\Program Files\QuickTime\QTSystem\;C:\Program Files\Microsoft eMbedded Tools\EVC\WCE300\BIN;C:\Program Files\IDM Computer Solutions\UltraEdit\;C:\eclipse-SDK-4.2;;.
java.runtime.name=Java(TM) SE Runtime Environment
java.runtime.version=1.7.0_07-b11
java.specification.name=Java Platform API Specification
java.specification.vendor=Oracle Corporation
java.specification.version=1.7
java.vendor=Oracle Corporation
java.vendor.url=http://java.oracle.com/
java.vendor.url.bug=http://bugreport.sun.com/bugreport/
java.version=1.7.0_07
java.vm.info=mixed mode
java.vm.name=Java HotSpot(TM) Client VM
java.vm.specification.name=Java Virtual Machine Specification
java.vm.specification.vendor=Oracle Corporation
java.vm.specification.version=1.7
java.vm.vendor=Oracle Corporation
java.vm.version=23.3-b01
line.separator=
.
.
.
Plus loin, j'ai :
sun.arch.data.model=32
sun.boot.class.path=C:\Program Files\Java\jre7\lib\resources.jar;C:\Program Files\Java\jre7\lib\rt.jar;C:\Program Files\Java\jre7\lib\sunrsasign.jar;C:\Program Files\Java\jre7\lib\jsse.jar;C:\Program Files\Java\jre7\lib\jce.jar;C:\Program Files\Java\jre7\lib\charsets.jar;C:\Program Files\Java\jre7\lib\jfr.jar;C:\Program Files\Java\jre7\classes
sun.boot.library.path=C:\Program Files\Java\jre7\bin
Je constate qu'il n'y a aucun lien entre Eclipse et le JDK-7u7 (C:\Program Files\Java\jdk1.7.0_07) que j'ai installé mais plutôt vers le dossier Jre7 (C:\Program Files\Java\jre7).
Remarque :
Après installation du JDK 7u7, il y avait 2 nouveaux sous-dossiers crées dans "C:\Program Files\Java\".
Il s'agit des dossiers :
- jre7 (122Mo - 649 fichiers et 33 dossiers )
et
- jdk1.7.0_07 contenant un autre dossier jre. (ce jre fait 136Mo - 653 fichiers et 34 dossiers)
Mes questions :
- Pourquoi y a-t-il 2 JRE (un interne, l'autre externe au JDK) ?
- Pourquoi Eclipse pointe vers le JRE externe au JDK alors qu'il semble contenir moins de fichiers et dossiers que celui interne au dossier JDK ?
De toutes les façons, je me dis que peu importe le JRE (interne ou externe), cela n'aura aucun impact sur le fichiers .class puisque le JRE sert simplement à exécuter (interpréter) les .class qui sont produits par le compilateur javac (.java vers .class). Et le compilateur javac est inclu dans le dossier JDK.
Le fait qu'Eclipse ne pointe aucun chemin vers le JDK installé, cela signifie que mes .java seront compilés par le compilateur interne (par défaut) d'Eclipse ?
- Si oui, cela veut dire que j'aurai des .class non protégés contre les 29 dernières failles de sécurité Java ?
Comment lancer ou configurer ou forcer Eclipse à utiliser le JDK Oracle au lieu de son propre JDK (JDT) interne ?
Merci d'avance pour votre aide.