Ostrzeżenie - ścieżka kompilacji określa środowisko wykonawcze J2SE-1.4

141

Tworzę projekt Mavena w Eclipse Helios. Działa dobrze przez jeden dzień, ale potem pojawia się to ostrzeżenie:

Ścieżka kompilacji określa środowisko wykonawcze J2SE-1.4. W obszarze roboczym nie ma zainstalowanych środowisk JRE, które są ściśle zgodne z tym środowiskiem.

Od tego komunikatu projekt przestał kompilować i debugować. Czy ktoś ma rozwiązanie tego problemu?

narsereg
źródło

Odpowiedzi:

226

W Eclipse z Twojego projektu:

  1. Kliknij prawym przyciskiem myszy swój projekt
  2. Kliknij Właściwości
  3. Ścieżka budowania Java: Biblioteki; Usuń „JRE System Library [J2SE 1.4]”
  4. Kliknij opcję Dodaj bibliotekę -> Biblioteka systemowa JRE
  5. Wybierz nowe „Środowisko wykonawcze” lub domyślne środowisko JRE obszaru roboczego
btpka3
źródło
43
Ta odpowiedź jest dla Eclipse, ale źle dla Maven + Eclipse
Chris Dolan
17
To tymczasowo rozwiąże problem, dopóki nie zostanie uruchomiona kolejna kompilacja Maven, po czym wersja JRE zostanie zresetowana do domyślnej. Zobacz odpowiedź Pascala Thiventa, aby zmienić domyślną wersję środowiska JRE określoną w POM.
matthewb
Wszystko nie działa. Za każdym razem, gdy robisz [Alt] [F5], aby zaktualizować konfigurację mavena, wszystkie takie ręczne poprawki dają dużo i pojawia się ostrzeżenie. Zobacz bugs.eclipse.org/bugs/show_bug.cgi?id=376619
Jörg
181

Niezależnie od tego, czy używasz wtyczki maven eclipse, czy m2eclipse , konfiguracja projektu Eclipse pochodzi z POM, więc musisz skonfigurować wtyczkę kompilatora maven na 1.6 (domyślnie 1.4).

Dodaj następujące elementy do swojego projektu pom.xml, zapisz, a następnie przejdź do projektu Eclipse i wybierz Właściwości> Maven> Aktualizuj konfigurację projektu:

<project>
 <build>
  <pluginManagement>
   <plugins>
    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>          
        <configuration>
            <source>1.6</source>
            <target>1.6</target>
        </configuration>
    </plugin>
   </plugins>
  </pluginManagement>
 </build>
</project>
Pascal Thivent
źródło
4
Zgadzam się, to jest poprawna odpowiedź. Wiele innych rozwiązań tymczasowo rozwiąże problem, dopóki nie zostanie uruchomiona kolejna kompilacja Mavena, po czym środowisko JRE zostanie zresetowane do wersji domyślnej. Dodanie tej wtyczki do POM zmienia domyślną wersję JRE.
matthewb
Gdzie (pełna lokalizacja XPATH) w pom.xml to idzie? Gdziekolwiek to dodam, Maven narzeka na zniekształcony pompon.
Ed Randall,
2
To jest poprawna odpowiedź. Zaakceptowana odpowiedź to tymczasowe rozwiązanie!
Scott Offen
@EdRandall proszę sprawdzić maven.apache.org/plugins/maven-compiler-plugin/usage.html
Martin Dürrmeier
Mam to w moim maven pom.xml i NADAL otrzymuję ostrzeżenie. Wygląda na to, że wszystko działa, ale ostrzeżenie wciąż jest
ropo
10

Powyższe rozwiązania naprawiają projekt lub w jakiś sposób rozwiązują problem. Czasami po prostu nie chcesz naprawiać projektu i zamiast tego po prostu ukryj ostrzeżenie.

Aby to zrobić, skonfiguruj zawartość panelu ostrzegawczego i wyłącz kategorię „ścieżka budowania” -> „Problem ze ścieżką systemu JRE”. Interfejs użytkownika tego okna dialogowego jest nieco skomplikowany / dziwny / trudny w obsłudze, więc być może będziesz musiał majstrować przy kilku opcjach, aby zrobić to, co chcesz.

Jilles van Gurp
źródło
Mam dwa obszary robocze skonfigurowane w ten sam sposób z JDK 7, ale kompiluję do 1.6 (ostatecznie przejdziemy). Maszyna została ciężko zamknięta przez starą dobrą aktualizację Windows Update - a otwarty obszar roboczy zaczął to pokazywać i nie można go złagodzić. Dziękuję za wskazanie pracy!
RedYeti
13
Albo w inny nieco bardziej przejrzysty sposób: Okno -> Preferencje -> Java -> Kompilator -> Budowanie -> Ustaw „Brak ściśle zgodnego środowiska JRE dla środowiska wykonawczego” na „Ignoruj”
RedYeti
@RedYeti to powinno działać, ale to nie dla mnie (Eclipse 4.5)
NathanChristie
3

W preferencjach eclipse przejdź do Java-> Installed JREs-> Execution Environment i skonfiguruj JRE Execution Environment for J2SE-1.4

krock
źródło
To tymczasowo rozwiąże problem, dopóki nie zostanie uruchomiona kolejna kompilacja Maven, po czym wersja JRE zostanie zresetowana do domyślnej. Zobacz odpowiedź Pascala Thiventa powyżej, aby zmienić domyślną wersję środowiska JRE określoną w POM.
matthewb
Nie, to zmienia obszar roboczy zainstalowane JRE, a nie ten dla konkretnego projektu (a tak miała zaakceptowana odpowiedź)
AlBlue
3

Rzeczywistą przyczyną tego ostrzeżenia jest to, że projekt został skonfigurowany do uruchamiania ze starszą wersją środowiska JRE niż zainstalowana. Zwykle dzieje się tak za każdym razem, gdy używasz starych projektów z nowszymi środowiskami JRE.

Prawdopodobnie nie spowoduje to żadnych problemów. Ale jeśli chcesz być naprawdę na Zapisuj strony, należy zainstalować poprawną, stary JDK. Możesz je znaleźć tutaj: http://www.oracle.com/technetwork/java/archive-139210.html

Jeśli następnie restart zaćmienie można przejść do okna> Preferencje> Jawa> Zainstalowane JRE> środowisk wykonawczych i ustawić w swoim przypadku J2SE-1,4 [Perfect Match] jak to nazywa zaćmienie.

chrześcijanin
źródło
Pozytywnie, ponieważ mam projekt Java 7 i tylko Java 8 zainstalowana.
Amedee Van Gasse
2

Jeśli masz Javę 1.8, to

Potrzebujesz tej części XML w pom.xml i zaktualizuj projekt.

 <properties>
    <maven.compiler.target>1.8</maven.compiler.target>
  </properties>
N ..
źródło
2

poprawną procedurą rozwiązania tego ostrzeżenia, jak piszą inne osoby, jest przejście do właściwości projektu i kliknięcie ścieżki budowania Java znajdującej się po lewej stronie. Teraz znajdziesz wewnątrz Biblioteki Okno na J2SE 1.5 , kliknij dwukrotnie na tym jednym i nowym oknie daje możliwość wyboru poprawnej Excecution Environment . Teraz wybierz swoją wersję, a ostrzeżenie zniknie.

cyberdemon
źródło
1

Czy skonfigurowałeś swój projekt tak, aby był kompilowany zgodnie z 1.4? Jeśli tak, zrób to , co powiedział Krock . Albo, mówiąc dokładniej, musisz wybrać środowisko wykonawcze J2SE-1.4 i sprawdzić jedno z zainstalowanych JRE, którego chcesz używać w trybie zgodności 1.4; najprawdopodobniej będziesz mieć zainstalowane środowisko JRE 1.6, po prostu sprawdź to. Lub zainstaluj środowisko JRE 1.4, jeśli masz zestaw instalacyjny, i użyj go.

W przeciwnym razie przejdź do preferencji Eclipse, Java -> Compiler i sprawdź, czy zgodność jest ustawiona na 1.4. Jeśli tak, zmień go z powrotem na 1.6. Jeśli nie, przejdź do właściwości projektu i sprawdź, czy ma ustawienia specyficzne dla projektu. Przejdź do kompilatora Java i usuń zaznaczenie, jeśli chcesz używać ogólnych preferencji zaćmienia. Lub ustaw ustawienia specyficzne dla projektu na 1,6, tak aby zawsze było 1,6, niezależnie od preferencji zaćmienia.

Andrei Fierbinteanu
źródło
To tymczasowo rozwiąże problem, dopóki nie zostanie uruchomiona kolejna kompilacja Maven, po czym wersja JRE zostanie zresetowana do domyślnej. Zobacz odpowiedź Pascala Thiventa powyżej, aby zmienić domyślną wersję środowiska JRE określoną w POM.
matthewb
0

Po prostu zmień wersję w Window-> Preferences-> Java -> Installed JREs. Sprawdź listę zainstalowanych środowisk JRE. Następnie kliknij prawym przyciskiem myszy projekt -> właściwości -> ścieżka budowania Java -> biblioteki. Zmień „JRE System Library” na wersję z „zainstalowanych JRE”.

Ostrzeżenie zniknie.

Ankitha J
źródło
-1

Otrzymałem ostrzeżenie dotyczące projektu, ponieważ „ Ścieżka kompilacji określa środowisko wykonawcze J2SE-1.5. W obszarze roboczym nie ma zainstalowanych środowisk JRE, które są ściśle zgodne z tym środowiskiem ”. Usunąłem bibliotekę J2SE1.5 i dodałem nową bibliotekę systemową JRE, która rozwiązała mój problem

Pragati Chaturvedi
źródło
Czym to się różni od odpowiedzi btpka3 ?
Stevoisiak
-1

Rozwiń swój projekt w przestrzeni roboczej >> Kliknij prawym przyciskiem myszy (Biblioteki systemu JRE) >> wybierz właściwości >> wybierz domyślny obszar roboczy JRE powyższe rozwiązanie sol

Achil
źródło
To tylko powtórzenie informacji zawartych w odpowiedzi
btpka3