Pas de com.soleil.outils.javac dans JDK7
J'utilise JDK7 et Eclipse Indiago dans Windows 7 64 bits. J'ai défini la variable d'environnement JAVA_HOME sur F:\JDK7 et ajoutez % JAVA_HOME% \ bin dans path. C'est mon exemple de code:
com.sun.tools.javac.Main m1 = new com.sun.tools.javac.Main();
m1.compile(source);
Erreur que j'obtiens:
Type com.soleil.les outils ne peuvent pas être résolus en type
Pourquoi il n'y a pas de com.soleil.outils ? Quel est le problème ?
3 answers
Il semble que vous utilisiez Eclipse. Par défaut, Eclipse importe uniquement les JAR JRE, pas ceux du JDK.
Solution 1:
- Aller à Eclipse préférences (sous Windows: Fenêtre - >Préférences)
- Ouvrez la préférence Java> > Installed JREs
- Sélectionnez votre JRE et appuyez sur edit
- Utilisez "Ajouter des pots externes" pour inclure les outils.jar (trouvé dans JDK_HOME / lib)
Solution 2:
Modifiez le chemin de construction de votre projet et ajoutez une bibliothèque externe: tools.pot trouvé dans JDK_HOME / lib
Vous feriez mieux d'utiliser l'API JavaCompiler, plutôt que de tenter d'appeler javac directement qui est dans tools.jar L'API ajoutera ceci pour vous si vous l'utilisez.
Javac se trouve dans le répertoire JDK bin, mais pas dans le JRE bin.
J'ai eu un problème similaire et il s'est avéré que par erreur j'avais défini ma variable JAVA_HOME sur le JRE au lieu du JDK, c'est-à-dire
C:\Program Files\Java\jre1.8.0_60 instead of
C:\Program Files\Java\jdk1.8.0_60
Parce que je "savais" que j'avais copié le nom de répertoire correct, il m'a fallu du temps pour voir ces deux caractères différents et résoudre le problème.