Najczęściej zadawane pytania dotyczące środowiska JDT

Czy ze środowiskiem roboczym można używać kompilatora Java innego niż wbudowany (na przykład javac)?

Nie. JDT udostępnia wiele zaawansowanych funkcji, w tym całkowicie automatyczną rekompilację przyrostową, wartościowanie fragmentów kodu, asystenta kodu, hierarchie typów i wymianę kodu podczas przetwarzania. Funkcje te wymagają specjalnej obsługi, którą zapewnia kompilator Java dostępny w środowisku roboczym (stanowiący integralną część programu do przyrostowego budowania projektów środowiska JDT), a której nie oferują standardowe kompilatory Java.

Skąd pochodzą pakiety Java?

Projekt zawiera tylko pliki i foldery. Pojęcie pakietu Java jest wprowadzane za pośrednictwem ścieżki klasy projektu Java (w interfejsie użytkownika pakiety zdefiniowane w ścieżce klasy są prezentowane w Eksploratorze pakietów). Wskazówka: Jeśli struktura pakietów jest inna od oczekiwanej, należy sprawdzić ścieżkę klasy. Infrastruktura wyszukiwania Java umożliwia znajdowanie deklaracji elementów Java i odwołań do tych elementów wyłącznie w ścieżce klasy.

Kiedy ma być używany wewnętrzny, a kiedy zewnętrzny plik biblioteki JAR?

Zasób wewnętrzny znajduje się w projekcie w środowisku roboczym i dlatego jest zarządzany przez to środowisko. Podobnie jak w przypadku innych zasobów, środowisko robocze możne zarządzać wersjami tych zasobów. Zasób zewnętrzny nie jest częścią środowiska roboczego i można go używać tylko przez odwołania. Na przykład środowisko JRE jest często zasobem zewnętrznym (bardzo dużym) i nie ma potrzeby wiązania go z systemem VCM.

Kiedy należy używać folderów źródłowych w projekcie Java?

Pliki źródłowe każdego projektu Java są znajdowane za pomocą jednego lub kilku wpisów w ścieżce klasy projektu dotyczących typów źródłowych. Foldery źródłowe umożliwiają zorganizowanie pakietów dużego projektu w użyteczną grupę lub oddzielenie kodu źródłowego od innych plików tego samego projektu. Ponadto folderów źródłowych można użyć, jeśli istnieją pliki (na przykład dokumentacja), które nie powinny być określane w ścieżce budowania.

Co to są załączniki z kodem źródłowych i jak zdefiniować taki załącznik?

Biblioteki są przechowywane w plikach JAR zawierających binarne pliki klas (a czasem także inne zasoby). Ten binarne pliki klas udostępniają informacje o sygnaturach pakietów, klas, metod i pól. Dane te wystarczają do kompilacji lub uruchomienia programu, ale zawierają znacznie mniej informacji niż oryginalny kod źródłowy. Aby ułatwić przeglądanie i debugowanie bibliotek binarnych, wprowadzono mechanizm umożliwiający powiązywanie odpowiedniego pliku źródłowego JAR (lub ZIP) z binarnym plikiem JAR.

Dlaczego wszystkie moje zasoby są duplikowane w folderze wyjściowym (na przykład bin)?

Jeśli w projekcie Java używane są foldery źródłowe, to podczas kompilowania plików źródłowych kompilator Java kopiuje do folderu wyjściowego również zasoby inne niż pliki Java, tak aby mogły być one dostępne w ścieżce klas działającego programu. Aby uniknąć kopiowania pewnych zasobów do folderu wyjściowego, można ustawić filtr zasobów na stronach preferencji kompilatora Java: Okna > Preferencje > Java > Kompilator > Budowanie.

Jak zapobiec kopiowaniu plików dokumentacji do folderu wyjściowego projektu?

Należy użyć folderów źródłowych i umieścić wszelkie zasoby, które nie mają być kopiowane do folderu wyjściowego, w osobnym folderze nieznajdującym się w ścieżce klasy. Można także ustawić filtr zasobów (na przykład *.doc) na stronie preferencji kompilatora Java: Okna > Preferencje > Java > Kompilator > Budowanie.

Jak utworzyć pakiet domyślny?

Nie jest to wymagane. Przyjmuje się, że pliki umieszczone w folderze głównym folderu źródłowego lub projektu znajdują się w pakiecie domyślnym. Skutkiem tego w każdym folderze źródłowym może się znajdować fragment domyślnego pakietu.

Co to jest refaktoryzacja?

Refaktoryzacja to transformacja programów bez zmiany ich zachowania. Środowisko JDT obsługuje wiele transformacji opisanych w książce Martina Fowlera Refactoring: Improving the Design of Existing Code (Refaktoryzacja: poprawianie struktury istniejącego kodu) opublikowanej przez wydawnictwo Addison Wesley w 1999 roku.

Kiedy używa się funkcji wybierania/rozpoznawania kodu (F3)?

Aby za pomocą kompilatora znaleźć element Java, który odpowiada zakresowi źródłowemu.

Czy informacje programu Java (na przykład hierarchia typu, deklaracje, odwołania) są wytwarzane przez program budujący Java? Czy po wyłączeniu automatycznego budowania są one wciąż aktualizowane?

Informacje programu Java są niezależne od programu budującego. Są one automatycznie aktualizowane podczas modyfikowania zasobów lub wykonywania operacji Java. W szczególności wszystkie funkcje oferowane przez narzędzia Java (na przykład hierarchie typów, asystenci kodu, wyszukiwanie) będą nadal działać po wyłączeniu automatycznego budowania. Na przykład przy szeroko zakrojonej refaktoryzacji, wymagającej wyłączenia programów budujących, wciąż można używać asystenta kodu, który odzwierciedla najnowsze zmiany (nieuwzględnione jeszcze przy budowaniu). Oprócz uruchamiania (wykonywania i debugowania) programów, jedyną funkcją wymagającą programu budującego Java jest wartościowanie fragmentów kodu.

Wydaje się, że pierwsze budowanie projektu po ponownym otwarciu środowiska roboczego trwa dłużej. Dlaczego tak jest?

W momencie zamknięcia środowiska roboczego program do przyrostowego budowania projektów Java zapisuje swój wewnętrzny stan w pliku. Przy pierwszej budowie wykonywanej po ponownym otwarciu projektu, program do przyrostowej budowy projektów Java odtwarza swój stan. Jeśli plik ten jest duży, budowanie trwa dłużej niż zwykle.

Nie widzę hierarchii typów dla klasy. Co mogę zrobić?

Należy sprawdzić, czy ścieżka klasy budowania została skonfigurowana poprawnie. Konfigurowanie poprawnej ścieżki klasy budowania to ważna czynność podczas programowania w języku Java. Bez poprawnej ścieżki budowania nie będzie możliwe skompilowanie kodu. Ponadto nie będzie możliwe wyszukiwanie ani przeglądanie hierarchii typów odpowiadających elementom Java.

Jak wyłączyć "automatyczną kompilację" i wykonywać ją ręcznie w razie potrzeby?

Wyczyść pole wyboru Buduj automatycznie na stronie preferencji Otwiera stronę preferencji obszaru roboczego Ogólne > Obszar roboczy. Gdy trzeba będzie uruchomić budowanie, należy nacisnąć kombinację klawiszy Ctrl+B lub wybrać opcję Projekt > Buduj wszystko z paska menu.

Wskazówka: Jeśli wyłączysz "automatyczne kompilowanie" i będziesz budować ręcznie, możesz również zaznaczyć pole wyboru Zapisuj automatycznie przed budowaniem na stronie preferencji Otwiera stronę preferencji Obszar roboczyOgólne > Obszar roboczy.

Gdy wybiorę metodę lub pole w widoku Schemat, w edytorze wyświetlany jest tylko kod źródłowy tego elementu. Jak wyświetlić kod źródłowy całego pliku?

Na pasku narzędzi znajduje się przycisk Pokaż kod źródłowy tylko zaznaczonego elementu - wystarczy go wyłączyć.

Czy można zagnieżdżać foldery źródłowe?

Tak, za pomocą filtrów wykluczenia można tworzyć zagnieżdżone foldery źródłowe.

Czy każdemu folderowi źródłowemu może odpowiadać osobny folder wyjściowy?

Tak, należy w tym celu zaznaczyć pole wyboru Zezwalaj na określanie folderów wyjściowych dla folderów źródłowych na stronie właściwości Ścieżka budowania Java > Źródło projektu Java.

Czy folder źródłowy lub wyjściowy można umieścić poza środowiskiem roboczym?

Tak, można utworzyć dowiązany folder, który wskazuje wymagane położenie, a następnie użyć go jako folderu źródłowego lub wyjściowego w projekcie Java.

Pojęcia pokrewne

Java Development Tools (JDT)

Informacje pokrewne

Strona Ścieżka budowania Java
Glosariusz środowiska JDT