2009-03-25 8 views
1

Je couru:Pourquoi IcedTea6 ne compile pas le code spécifique Java 1.5?

 
javac Perf.java 

et obtenu:

ERROR in Prefs.java (at line 36) 

HashMap<String, String> map = new HashMap<String, String>(); 
     ^^^^^^^^^^^^^^ 
Syntax error, parameterized types are only available if source level is 1.5 

Lorsque je tape: java -version je reçois:

 
java version "1.6.0_0" 
IcedTea6 1.4 (fedora-11.b14.fc10-i386) Runtime Environment (build 1.6.0_0-b14) 
OpenJDK Client VM (build 14.0-b08, mixed mode) 

javac -version me reçoit:

 
Eclipse Java Compiler 0.883_R34x, 3.4.1 release, Copyright IBM Corp 2000, 2008. All rights reserved. 

Voici une nouvelle installation de Fedora 10. Qu'est-ce que c'est que ce commerce de glaces? Pourquoi le compilateur Java est-il par défaut dans le compilateur Eclipse? Quelqu'un explique cette folie ...

Répondre

1

Vérifiez votre variable $ PATH. Il semble que votre exécutable "java" se trouve à un endroit et que "javac" soit ailleurs.

Essayez le « où » ou « qui » commande sur la ligne de commande - cela vous dire où le shell/OS est de localiser chacun de ces executables:

which java 
which javac 
+0

Les deux sont au même emplacement:/usr/bin/java [c | ] – Alex

+0

Vous devrez peut-être (re) télécharger le Java SDK puis. Il semble que votre système d'exploitation livré avec une version étrange/non-standard de javac –

+0

redhat fedora 10 a été de 90% échouer jusqu'à présent – Alex

1

Fedora comme l'utilisation par défaut du logiciel Open Source. Icedtea est l'adaptation redhat de l'OpenJDK pour être entièrement open source. Le compilateur Eclipse est le meilleur compilateur java de la ligne de commande open source, mais il ne semble pas être en train de compiler Java 6 par défaut. Essayez "javac -help" pour voir quelles options vous avez. Ce peut être juste une simple variable d'environnement qui a besoin d'être peaufinée.

Questions connexes