2009-10-29 16 views

Odpowiedz

45

Eclipse pochodzi z własnego kompilatora z następujących powodów:

  • przyrostowe kompilacji (można skompilować tylko zmienionych części projektu, która może oznaczać więcej niż ilość plików po prostu zapisana, na przykład, gdy zmieniłeś niektóre globalne)
  • Kompilator Eclipse może utworzyć plik klasy, nawet jeśli kod zawiera błędy. Pozwala to na uruchomienie projektu, mimo że nie wszystko się kompiluje.
  • Kompilator dostarcza Eclipse z AST, dzięki czemu może wykonywać wszelkiego rodzaju fantazyjne rzeczy (takie jak kontur, pokazuje wszystkie miejsca, w których używana jest zmienna pod kursorem, itp.) Bez dodatkowych kosztów (np. trzeba uruchomić kompilator i innego analizatora składni).
+12

Istnieje nawet dokumentacja dotycząca uruchamiania kompilatora Eclipse jako autonomicznej aplikacji poza platformą Eclipse: http://help.eclipse.org/galileo/topic/org.eclipse.jdt.doc.isv/guide/jdt_api_compile.htm –

+0

Zaakceptowano dzięki komentarzowi Joachima. Znalazłem ten sam link, który daje pełny opis jak używać klasy BatchCompiler. – glmxndr

+0

Dzięki za dobre wyjaśnienie. Gdzie znalazłeś te informacje? Bardzo trudno jest mi znaleźć informacje o funkcjach kompilatora Eclipse. –

5

Wierzę, że Eclipse ma wbudowane kompilatory i można wybrać kompatybilność z Javą 1.3 do 1.6 (sprawdź menu Preferencje, w języku Java-> Kompilator). Tak więc Eclipse nie potrzebuje zewnętrznego JDK do kompilacji, ponieważ pochodzi z niego samowystarczalny.

Jeśli chcesz utworzyć skrypt budowania poza środowiskiem Eclipse, będziesz potrzebował zewnętrznego kompilatora, takiego jak ten, który jest dostarczany z prawdziwym JDK.

-1

Eclipse został pierwotnie stworzony przez IBM. Eclipse ma własny wbudowany kompilator Java, który jest oparty na kompilatorze Javy IBM, Jikes.

+0

Nie sądzę, że kompilator Eclipse jest oparty na Jikes. Może to być zainspirowane, ale ponieważ jikes jest zaimplementowany w C++, a kompilator Eclipse to czysta Java, wątpię, czy odziedziczyły one jakieś główne części kodu. –

+0

Ok, jeśli tak, to kompilator Eclipse nie jest dokładnie Jikes. Przynajmniej oba pochodzą od IBM. – Jesper

2

Dla jednego przypadku jest zainteresowany: Kompilator Eclipse jest częścią JDT core.

Powiązane problemy