A partir de Fedora 17, le seul jdk fourni par openjdk est  java-1.7.0-openjdk.

Pourtant le compilateur java fournit bien les options -source et -target. Mais comme les jdk précédents ne sont plus disponibles, il manque les classes bootstrap rt.jar des versions précédentes.

 

Ainsi, si on essaie de compiler vers java 1.6 sur une fedora 17, on obtient :

$ javac -source 1.6 -target 1.6 ET4HValidator.java
warning: [options] bootstrap class path not set in conjunction with -source 1.6
1 warning

Comme l'indique la page man, c'est bien parce que la classe bootstrap 1.6 est manquante. Il est possible d'installer les rpms java-1.6.0-openjdk de f16 en parallèle, mais je n'ai pas utilisé cette méthode car elle passe par des --force et --nogpgcheck.
On va donc se contenter de récupérer le fichier rt.jar dans le rpm

$ wget ftp://fr2.rpmfind.net/linux/fedora/linux/updates/16/x86_64/java-1.6.0-openjdk-devel-1.6.0.0-68.1.11.5.fc16.x86_64.rpm
$ file-roller /tmp/java-1.6.0-openjdk-1.6.0.0-68.1.11.5.fc16.x86_64.rpm --extract-to /tmp/jdk --force
$ cp /tmp/jdk/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre/lib/rt6.jar ~/

Ensuite, on peut enfin compiler sans warnings :

$ javac -bootclasspath ~/rt6.jar -source 1.6 -target 1.6 ET4HValidator.java

 

Add comment


Security code
Refresh