Na tej stronie preferencji można konfigurować różne ustawienia związane z kompilowaniem, budowaniem oraz sprawdzaniem kodu źródłowego Java.
Preferencje kompilatora Java są podzielone na następujące sekcje:
Opcja |
Opis |
Domyślnie |
---|---|---|
Poziom zgodności kompilatora |
Określa poziom zgodności kompilatora. |
1.4 |
Użyj domyślnych ustawień zgodności |
Po włączeniu tej opcji stosowane są domyślne ustawienia poziomu zgodności kompilatora. |
Włączone |
Zgodność wygenerowanych plików .class |
Określa zgodność wygenerowanych plików .class. |
1.2 |
Zgodność źródła |
Określa zgodność akceptowanego kodu źródłowego. |
1.3 |
Odrzuć identyfikatory o nazwie assert |
Po włączeniu tej opcji kompilator zgłosi błąd lub ostrzeżenie w przypadku użycia słowa assert (zastrzeżonego słowa kluczowego środowiska J2SE 1.4) jako identyfikatora. |
Ostrzeżenie |
Nie zezwalaj na identyfikatory o nazwie enum |
Po włączeniu tej opcji kompilator zgłosi błąd lub ostrzeżenie w przypadku użycia słowa enum (zastrzeżonego słowa kluczowego środowiska J2SE 5.0) jako identyfikatora. |
Ostrzeżenie |
Dodaj atrybuty zmiennej do wygenerowanych plików klas |
Po włączeniu tej opcji do pliku klasy są dodawane atrybuty zmiennej. Umożliwia to wyświetlanie nazw zmiennych lokalnych w debugerze (w miejscach ostatecznego przypisania wartości do zmiennych). Otrzymany w ten sposób plik .class jest większy. |
Włączone |
Dodaj atrybuty numerów wierszy do wygenerowanych plików klas |
Po włączeniu tej opcji do pliku klasy są dodawane informacje o numerach wierszy. Umożliwia to wyróżnienie kodu źródłowego w debugerze. |
Włączone |
Dodaj nazwę pliku źródłowego do wygenerowanego pliku klasy |
Po włączeniu tej opcji do pliku klasy jest dodawana nazwa pliku źródłowego. Umożliwia to debugerowi prezentację odpowiedniego kodu źródłowego. |
Włączone |
Zachowaj nieużywane zmienne lokalne |
Po włączeniu tej opcji nieużywane (tj. nigdy nieodczytywane) zmienne lokalne nie są usuwane z pliku klasy. Ich usunięcie może spowodować zmianę procesu debugowania. |
Włączone |
Wstaw bloki finally |
Jeśli ta opcja jest włączona, do wygenerowanych plików klas wstawiane są bloki finally. Poprawia to wydajność, lecz może powodować zwiększenie wielkości plików klas. |
Wyłączone |
Opcja |
Opis |
Domyślnie |
---|---|---|
Maksymalna liczba zgłaszanych problemów na jednostkę kompilacji |
Określa liczbę problemów zgłaszanych dla jednostki kompilacji. |
100 |
Możliwość użycia wzorców wykluczeń w folderach źródłowych |
Po wyłączeniu tej opcji żadnej pozycji na ścieżce klasy projektu nie można powiązać ze wzorcem wykluczeń. |
Włączone |
Możliwość użycia wielu położeń wyjściowych dla folderów źródłowych |
Po wyłączeniu tej opcji żadnej pozycji w ścieżce klasy projektu nie można powiązać z określonym położeniem wyjściowym, co uniemożliwia stosowanie wielu położeń wyjściowych. |
Włączone |
Przerwij budowanie, jeśli wystąpią błędy ścieżki budowania |
Umożliwia przerwanie pracy programu budującego, gdy ścieżka budowania jest niepoprawna. |
Włączone |
Niepełna ścieżka budowania |
Umożliwia wskazanie istotności zgłoszonego problemu, jeśli pozycja w ścieżce klasy nie istnieje lub jest niedozwolona albo niewidoczna (np. przywoływany projekt jest zamknięty). |
Błąd |
Zależności cykliczne |
Umożliwia wskazanie istotności zgłoszonego problemu, gdy projekt stanowi element cyklu. |
Błąd |
Niezgodne wymagane dane binarne |
Wskazuje istotność zgłoszonego problemu, gdy projekt wymaga niezgodnych danych binarnych. |
Ignoruj |
Zduplikowane zasoby |
Umożliwia wskazanie istotności zgłoszonego problemu, gdy więcej niż jedno wystąpienie zasobu ma być skopiowane do położenia wyjściowego. |
Ostrzeżenie |
Opróżnij foldery wyjściowe podczas czyszczenia projektów |
Umożliwia wskazanie, czy program budujący Java może wyczyścić foldery wyjściowe, gdy wykonuje operację budowania pełnego. |
Włączone |
Filtrowane zasoby |
Oddzielana przecinkami lista wzorców plików, które nie są kopiowane do folderu wyjściowego. |
'' |
Opcja |
Opis |
Domyślnie |
---|---|---|
Niestatyczny dostęp do składowej static |
Po włączeniu tej opcji kompilator zgłosi błąd lub ostrzeżenie w przypadku dostępu do pola lub metody static za pomocą odbiornika wyrażenia. Odwołanie do składowej static powinno być kwalifikowane nazwą typu. |
Ostrzeżenie |
Pośredni dostęp do składowej static |
Jeśli ta opcja jest włączona, kompilator zgłosi błąd lub ostrzeżenie w przypadku pośredniego dostępu do pola lub metody static. Pole static interfejsu powinno być kwalifikowane za pomocą nazwy typu deklarującego. |
Ostrzeżenie |
Niekwalifikowany dostęp do pola instancji |
Jeśli ta opcja jest włączona, kompilator zgłosi błąd lub ostrzeżenie w przypadku niekwalifikowanego odwołania do pola (np. brak operatora this). |
Ignoruj |
Nieudokumentowany pusty blok |
Jeśli ta opcja jest włączona, kompilator zgłosi błąd lub ostrzeżenie w przypadku napotkania pustej instrukcji blokowej bez wyjaśniającego komentarza. |
Ignoruj |
Dostęp do niedostępnej składowej typu obejmującego |
Po włączeniu tej opcji kompilator zgłosi błąd lub ostrzeżenie w przypadku emulacji dostępu do niedostępnej składowej typu obejmującego. Taki dostęp może wpływać na wydajność. |
Ignoruj |
Metody o nazwie konstruktora |
Nadawanie metodzie nazwy konstruktora jest uznawane za zły styl programowania. Po włączeniu tej opcji kompilator zasygnalizuje taką sytuację jako błąd lub ostrzeżenie. |
Ostrzeżenie |
Użycie nieeksternalizowanych łańcuchów |
Po włączeniu tej opcji kompilator zgłosi błąd lub ostrzeżenie w przypadku nieeksternalizowanego literału łańcuchowego (tj. niezawierającego znacznika //$NON-NLS-<n>$). |
Ignoruj |
Klasa przekształcalna do postaci szeregowej bez identyfikatora serialVersionUID |
Po włączeniu tej opcji kompilator zgłosi błąd lub ostrzeżenie, gdy typ implementujący interfejs java.io.Serializable nie zawiera pola serialVersionUID. |
Ostrzeżenie |
Bezskuteczne przypisanie (na przykład: x = x) |
Po włączeniu tej opcji kompilator zgłosi błąd lub ostrzeżenie w przypadku bezskutecznego przypisania (np. x = x). |
Ostrzeżenie |
Możliwe przypadkowe przypisanie boolowskie (na przykład: if (a = b)) |
Po włączeniu tej opcji kompilator zgłosi błąd lub ostrzeżenie w przypadku napotkania potencjalnie przypadkowego przypisania boolowskiego (np. if (a = b)). |
Ostrzeżenie |
Nieprawidłowe zakończenie bloku finally |
Po włączeniu tej opcji kompilator zgłosi błąd lub ostrzeżenie w przypadku nieprawidłowego zakończenia instrukcji finally (np. z instrukcją return). |
Ostrzeżenie |
Pusta instrukcja |
Po włączeniu tej opcji kompilator zgłosi błąd lub ostrzeżenie w przypadku napotkania pustej instrukcji (np. nadmiarowego średnika). |
Ignoruj |
Użycie tablicy char w konkatenacji łańcucha |
Po włączeniu tej opcji kompilator zgłosi błąd lub ostrzeżenie w przypadku użycia wyrażenia char[] w konkatenacji łańcucha, np. "hello" + new char[]{'w','o','r','l','d'}
|
Ostrzeżenie |
Ukryte bloki catch |
Niektóre bloki catch mogą ukrywać inne (lokalnie względem instrukcji try), na przykład: try { throw new java.io.CharConversionException(); } catch (java.io.CharConversionException e) { } catch (java.io.IOException e) {} Po włączeniu tej opcji kompilator zgłosi błąd lub ostrzeżenie w przypadku ukrytych bloków catch odpowiadających wyjątkom kontrolowanym. |
Ostrzeżenie |
Deklaracja pola ukrywa inne pole lub inną zmienną |
Po włączeniu tej opcji kompilator zgłosi błąd lub ostrzeżenie, jeśli deklaracja pola ukrywa inne odziedziczone pole. |
Ignoruj |
Deklaracja zmiennej lokalnej ukrywa inne pole lub inną zmienną |
Po włączeniu tej opcji kompilator zgłosi błąd lub ostrzeżenie, jeśli deklaracja zmiennej lokalnej ukrywa inne pole lub inną zmienną. |
Ignoruj |
Uwzględnij parametry konstruktora lub metody ustawiającej |
Po włączeniu tej opcji kompilator dodatkowo zgłosi błąd lub ostrzeżenie, jeśli parametr konstruktora lub metody ustawiającej ukrywa inne pole lub inną zmienną. |
Wyłączone |
Parametr typu ukrywa inny typ |
Po włączeniu tej opcji kompilator zgłosi błąd lub ostrzeżenie, jeśli na przykład parametr typu klasy wewnętrznej ukrywa typ zewnętrzny. |
Ostrzeżenie |
Przesłonięte metody, ale niewidoczne w pakiecie |
Domyślna metoda pakietu nie jest widoczna w innym pakiecie i dlatego nie można jej przesłonić. Po włączeniu tej opcji kompilator zasygnalizuje taką sytuację jako błąd lub ostrzeżenie. |
Ostrzeżenie |
Konflikt metody interfejsu z chronioną metodą Object |
Po włączeniu tej opcji kompilator zgłosi błąd lub ostrzeżenie w przypadku, gdy interfejs definiuje metodę niezgodną z niedziedziczoną metodą klasy Object. Do momentu rozwiązania tego konfliktu takiego interfejsu nie można zaimplementować, na przykład: interface I { int clone(); } |
Ostrzeżenie |
Nieaktualny interfejs API |
Po włączeniu tej opcji kompilator zasygnalizuje użycie nieaktualnego interfejsu API jako błąd lub ostrzeżenie. |
Ostrzeżenie |
Sygnalizuj użycie nieaktualnej funkcji API w nieaktualnym kodzie |
Po włączeniu tej opcji kompilator zasygnalizuje użycie nieaktualnego interfejsu API w nieaktualnym kodzie. Istotność tego problemu kontroluje opcja Nieaktualny interfejs API. |
Wyłączone |
Sygnalizuj przesłanianie lub implementowanie nieaktualnej metody |
Po włączeniu tej opcji kompilator zasygnalizuje przesłanianie lub implementowanie nieaktualnej metody. Istotność tego problemu kontroluje opcja Nieaktualny interfejs API. |
Wyłączone |
Zabronione odwołanie (reguły dostępu) |
Po włączeniu tej opcji kompilator zasygnalizuje zabronione odwołanie określone w regułach dostępu. |
Błąd |
Niezalecane odwołanie (reguły dostępu) |
Po włączeniu tej opcji kompilator zasygnalizuje niezalecane odwołanie określone w regułach dostępu. |
Ostrzeżenie |
Zmienna lokalna nie jest nigdy odczytywana |
Po włączeniu tej opcji kompilator zgłosi błąd lub ostrzeżenie, jeśli zadeklarowana zmienna lokalna nie jest nigdy używana w swoim zasięgu. |
Ostrzeżenie |
Parametr nie jest nigdy odczytywany |
Po włączeniu tej opcji kompilator zgłosi błąd lub ostrzeżenie, jeśli zadeklarowany parametr nie jest nigdy używany w swoim zasięgu. |
Ignoruj |
Sprawdź metody przesłaniające i implementujące |
Po włączeniu tej opcji kompilator dodatkowo zgłosi błąd lub ostrzeżenie, jeśli zadeklarowany parametr nie jest nigdy używany w swoim zasięgu w metodach przesłaniających lub implementujących. |
Wyłączone |
Nieużywane instrukcje importowania |
Po włączeniu tej opcji kompilator zgłosi błąd lub ostrzeżenie w przypadku nieużywanego odwołania do instrukcji importu. |
Ostrzeżenie |
Nieużywane składowe lokalne lub private |
Po włączeniu tej opcji kompilator zgłosi błąd lub ostrzeżenie, jeśli zadeklarowana składowa lokalna lub private nie jest nigdy używana wewnątrz tej samej jednostki. |
Ostrzeżenie |
Zbędna instrukcja else |
Po włączeniu tej opcji kompilator zgłosi błąd lub ostrzeżenie w przypadku napotkania zbędnej instrukcji else (np. "if (warunek) return; else doSomething();"). |
Ignoruj |
Zbędne rzutowanie lub zbędna operacja instanceof |
Po włączeniu tej opcji kompilator zgłosi błąd lub ostrzeżenie w przypadku napotkania zbędnego rzutowania lub zbędnej operacji instanceof (np. "if (object instanceof Object) return;"). |
Ignoruj |
Zbędna deklaracja zgłoszonego wyjątku kontrolowanego |
Po włączeniu tej opcji kompilator zgłosi błąd lub ostrzeżenie w przypadku napotkania zbędnej deklaracji zgłoszonego wyjątku. |
Ignoruj |
Sprawdź metody przesłaniające i implementujące |
Po włączeniu tej opcji kompilator dodatkowo zgłosi błąd lub ostrzeżenie w przypadku napotkania zbędnej deklaracji zgłoszonego wyjątku w metodach przesłaniających lub implementujących. |
Wyłączone |
Operacja na niekontrolowanym typie ogólnym |
Po włączeniu tej opcji kompilator zgłosi błąd lub ostrzeżenie w przypadku napotkania operacji na niekontrolowanym typie ogólnym. |
Ostrzeżenie |
Zadeklarowano parametr typu ogólnego z powiązaniem typu final |
Po włączeniu tej opcji kompilator zgłosi błąd lub ostrzeżenie w przypadku napotkania powiązania typów z udziałem typu final. |
Ostrzeżenie |
Niedokładne dopasowanie typów dla argumentów vararg |
Po włączeniu tej opcji kompilator zgłosi błąd lub ostrzeżenie w przypadku napotkania niedokładnego dopasowania typów dla argumentów vararg. |
Ostrzeżenie |
Konwersje pakowania i wypakowywania |
Po włączeniu tej opcji kompilator zgłosi błąd lub ostrzeżenie w przypadku napotkania konwersji pakowania lub wypakowywania. Automatyczne pakowanie może mieć negatywny wpływ na wydajność. |
Ignoruj |
Brak adnotacji @Override |
Po włączeniu tej opcji kompilator zgłosi błąd lub ostrzeżenie w przypadku napotkania metody przesłaniającej inną zaimplementowaną metodę bez adnotacji @Override. |
Ignoruj |
Brak adnotacji @Deprecated |
Po włączeniu tej opcji kompilator zgłosi błąd lub ostrzeżenie w przypadku napotkania nieaktualnego typu bez dodatkowej adnotacji @Deprecated. |
Ignoruj |
Adnotacja używana jako nadinterfejs |
Po włączeniu tej opcji kompilator zgłosi błąd lub ostrzeżenie w przypadku napotkania typu implementującego adnotację. Choć jest to możliwe, uważa się to za zły styl programowania. |
Ostrzeżenie |
Nie wszystkie stałe enum objęte klauzulą switch |
Po włączeniu tej opcji kompilator zgłosi błąd lub ostrzeżenie w przypadku napotkania instrukcji switch, która nie zawiera instrukcji case dla każdej stałej enum przywoływanego typu wyliczeniowego. |
Ignoruj |
Nieobsługiwane elementy ostrzeżeń w adnotacji @SuppressWarnings |
Po włączeniu tej opcji kompilator zgłosi błąd lub ostrzeżenie w przypadku napotkania nieobsługiwanego elementu ostrzeżenia w adnotacji @SuppressWarnings. |
Ostrzeżenie |
Włącz adnotacje @SuppressWarnings |
Po włączeniu tej opcji kompilator będzie przetwarzał adnotacje @SuppressWarnings. |
Włączone |
Budowanie programu Java
Praca ze ścieżkami budowania
Praca ze środowiskami JRE
Preferencje zmiennych ścieżki klasy
Właściwości ścieżki budowania Java