Ich arbeite an einem Java-IDE (die IDE selbst ist in Java geschrieben, nicht Eclipse-Umgebung), die derzeit ecj im Backend zum Kompilieren von Java-Quelldateien verwendet. Ich habe herum getwittert, um zu sehen, wie ich ecj mit dem jdt-Kern ersetzen könnte, da ich einige erweiterte Funktionen von jdt-Kernkomponenten wie ast-parser, incremental compile usw. verwenden möchte. Ich ersetzte ecj.jar durch org.eclipse.jdt .core_3.7.1.XXXXX.jar, hat einige Klassenpfade aktualisiert und die ID mit ant rekonstruiert. Nun, wenn ich eine Java-Quelldatei aus der IDE zu kompilieren, erhalte ich:Wie man jdt core anstelle von ecj für Batch Compilation verwendet
java.lang.NoClassDefFoundError: org/eclipse/jdt/core/compiler/batch/BatchCompiler
ich die IDE Classpath aktualisiert habe das jdt.core Glas statt ecj aufzunehmen, und jdt Kern eindeutig enthält die Batch-Compiler. Also was fehlt mir? Benötigt der jdt.core zusätzliche Abhängigkeiten zum Kompilieren von Java-Quelldateien? Oder ist es eine schlechte Idee, jdt.core statt ecj in einer Nicht-Eclipse-Umgebung zu verwenden?