Est de compilateur de Java Eclipse juste un wrapper autour de la même base que le `` programme est enroulée autour, ou est-ce un compilateur distinct au total ? Si ce dernier, pourquoi ils seraient réinventer la roue ?
Réponses
Trop de publicités?Eclipse a mis en œuvre son propre compilateur appelé Compilateur Eclipse pour Java (CJCE).
Elle est différente de la javac, le compilateur qui est livré avec le JDK Sun. Une différence notable est que le compilateur Eclipse permet d'exécuter du code qui n'a pas fait de compiler correctement. Si le bloc de code avec l'erreur n'est jamais couru, votre programme va s'exécuter correctement. Sinon, il va lever une exception indiquant que vous avez essayé d'exécuter du code qui ne compile pas.
Une autre différence est que le compilateur Eclipse permet d'augmenter le construit à partir de l'intérieur de l'IDE Eclipse, qui est, tout le code est compilé dès que vous avez fini de taper.
Le fait qu'Eclipse est livré avec son propre compilateur est aussi évident, car vous pouvez écrire, compiler et exécuter le code Java dans Eclipse sans même d'installer le SDK Java.
Quelques exemples de cas où la CJCE est préféré au cours de javac est:
- Apache Tomcat utilise CJCE pour compiler les Jsp,
- IntelliJ IDEA a soutien pour la CJCE, comme de Compilateur GNU pour Java (GCJ) 4.3,
- GCJ s'intègre avec les CJE,
- Liferay construit avec de la CJCE.
Tout le monde a déjà expliqué qu'ils sont différents. Voici quelques différence dans les comportements que j'ai remarqué entre les deux compilateurs. Elles se résument toutes à un bug dans (au moins) l'un des implémentations.
Au moment de la compilation d'optimisation liés
Les génériques de type inferrence liées
Eclipse est intégrée dans le compilateur est basé sur IBM Jikes compilateur java. (Notez que Eclipse également commencé sa vie à IBM). Il est complètement indépendant de Soleil du compilateur Java dans le JDK; il n'est pas un wrapper autour du Soleil, javac
.
Jikes a existé pendant une longue période, il a utilisé pour être beaucoup plus rapide que la norme JDK Java compilateur (mais je ne sais pas si c'est toujours vrai). Pourquoi IBM a voulu écrire leur propre compilateur Java: peut-être parce que des raisons de licence (ils ont aussi leur propre implémentation de Java).
Il s’agit d’un compilateur séparé complètement. Ceci est nécessaire car javac n’autorise la compilation du code légèrement cassée, sur le site de l’eclipse
Un compilateur Java incrémentiel. Implémenté comme un générateur d’Eclipse, il repose sur la technologie a évolué de VisualAge de compilateur Java. En particulier, il permet d’exécuter et déboguer le code qui contient encore des erreurs non résolues.