Maven build failed: "nie można zlokalizować kompilatora Javac w: JRE lub JDK problem"

Mój JAVA_HOME ustawiony jest na:

C:\Program Files (x86)\Java\jdk1.6.0_18

Po uruchomieniu maven install, otrzymuję wiadomość z Eclipse :

Powód:

Unable to locate the Javac Compiler in:
  C:\Program Files (x86)\Java\jre6\..\lib\tools.jar
Please ensure you are using JDK 1.4 or above and
not a JRE (the com.sun.tools.javac.Main class is required).
In most cases you can change the location of your Java
installation by setting the JAVA_HOME environment variable.

Jestem pewien, że to jest trudna część

Upewnij się, że używasz JDK 1.4 lub powyżej i nie JRE

Kiedy uruchamiam konfigurację jest ustawiona na JRE6. Jak zmienić go na JDK 1.6, który już zainstalowałem?

Próbowałem nawet zmodyfikować wtyczkę:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>2.0.2</version>
    <configuration>
        <source>1.6</source>
        <target>1.6</target>
        <executable>C:\Program Files (x86)\Java\jdk1.6.0_18\bin</executable>
    </configuration>
</plugin>

Still I get ten sam błąd.

Używam wtyczki Eclipse Maven. Jak Mogę zmienić JRE na JDK w Eclipse?

Author: Peter Mortensen, 2010-02-08

30 answers

Możesz spróbować zaktualizować JDK Eclipse używa, w następujący sposób:

Dodaj i ustaw JRE w menu oknoPreferencje...JavaZainstalowane JREs :

JRE type: Standard VM JRE
Name: jdk1.6.0_18
JRE home directory: C:\Program Files (x86)\Java\jdk1.6.0_18

Jeśli tak nie jest, możliwe, że nawiasy i spacje w ścieżce JAVA_HOME powodują problemy. Spróbuj skopiować JDK do innej lokalizacji i zaktualizować JAVA_HOME.

 142
Author: lucrussell,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-06-14 15:27:26

Plik zaćmienie.ini potrzebuje argumentu vm, aby wskazać lokalizację JDK.

Edytuj plik eclipse.ini, aby wskazać twój dom JDK, coś w następujący sposób -

-vm
C:\Program Files\Java\jdk1.6.0_06

To gwarantuje, że Eclipse będzie działać poza JDK, a nie domyślnym JRE na twoim komputerze.

 20
Author: Sai Hegde,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-06-14 15:44:24

Próbujesz:

Idź do Preferences/Java/Installed JREs i dodaj jedną dla Lokalizacji "C:\Program Files\Java\jdk1.6.0_27\jre lub coś w tym stylu.

Usuń ten dla C:\Program Files\Java\jre6

Jak widać, ścieżka C:\Program Files\Java\jre6\..\lib\tools.jar ma sens tylko wtedy, gdy pierwsza część (til the/..)zastępuje się przez C:\Program Files\Java\jdk1.6.0_27\jre.

 13
Author: cuocdoibian1971,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-10-01 09:33:17

Ustawienie fork na true rozwiązało problem dla mnie.

<configuration>
    <fork>true</fork>
    <source>1.6</source>
    <target>1.6</target>
</configuration>
 10
Author: Prash,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-06-14 15:50:42

Miałem Dokładnie ten sam problem! Szukałem i szukałem od kilku dni, bo cały bełkot o "put the-vm c:\program files \ java \ jdkxxxxx \ bin" w ini ar jako argument skrótu did not at all help!

(Czy jestem sfrustrowany? Uwierz mi, to mało powiedziane! Jestem po prostu wściekły, ponieważ straciłem tydzień, próbując uczynić Maven niezawodnym!)

Miałem bardzo nieprzewidywalne zachowanie. Czasem się skompilowało, a czasem nie. If I did a maven clean, it nie można znaleźć kompilatora i nie powiodło się. Jeśli potem zmieniłem coś na ścieżce budowania, nagle znowu zadziałało!!

Dopóki nie weszłam do menu OknoPreferencjeJavaInstalled JRE ' s . Dodałem nowy JRE używając lokalizacji JDK, a następnie usunąłem JRE. Nagle Maven biegł stabilny!

Może warto umieścić w instrukcji Apache litery z czcionką 30 lub tak?

Z całym szacunkiem, jest to po prostu oburzające dla Społeczność Java! Nie mogę sobie wyobrazić, ile dni zostało straconych przez tych wszystkich ludzi, próbujących rozwiązać swoje problemy tego rodzaju! Nie mogę sobie wyobrazić, że jest to wersja finalna. Osobiście nie odważyłbym się nawet wydać takiego czegoś pod nazwą beta software... Tak czy siak, Z poważaniem.... Po tygodniu majstrowania mogę w końcu zacząć się rozwijać. Mam nadzieję, że mój szef się o tym nie dowie. Zajęło mi wiele wysiłku, aby przekonać go , a nie, aby poszedł do. NET i już mi przykro z tego powodu.
 9
Author: Lorenzo,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-06-14 15:38:18

Mam ten sam problem używając Run jak - > Maven install w Eclipse. JAVA_HOME i eclipse.ini były OK i wskazywały na mój najnowszy JDK. Ale m2clipse używał JRE. Korzystanie z instalacji mvn poza Eclipse działało dobrze!

W moim przypadku problem rozwiązałem następująco:

  1. Nawigacja w oknie Eclipse: menu PreferencjeJavazainstalowane JREs
  2. były dwa nieaktywne wpisy dla JRE i JDK. Aktywny był najnowszym zainstalowanym JDK. Usuń wszystkie wpisy z wyjątkiem tego, którego Maven powinien użyć.

Myślę, że Maven nie bierze pod uwagę, który z nich jest aktywny...

 3
Author: Markus,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-06-14 15:34:14

Na podstawie Kompilowanie źródeł przy użyciu innego JDK, Musisz ustawić widelec na true w swoim pom.plik xml.

 3
Author: Sam Yang,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-06-14 15:40:10

Właśnie zainstalowałem Mavena 3.0.4, set M2_HOME, M2 i JAVA_HOME odpowiednio. Następnie wykonałem następujące polecenia:

mvn archetype:generate....

mvn compile

Dostałem nieudaną wiadomość, taką jak: maven unable to locate javac compiler.

Na moim komputerze mam domyślnie zainstalowane JRE na C:\program files\java\jre.1.6. A ja mam drugą C:\java\jdk1.6 i JAVA_HOME Ustaw na to C:\java\jdk1.6 .

Nie widziałem nic złego w moim ustawieniu. Po poszukiwaniach postanowiłem zajrzyj do mvn.bat, powtarzałem %JAVA_HOME% co krok i wyświetlał się poprawnie jako C:\java\jdk1.6, ale kiedy uruchamiałem komendę mvn --version, wyświetlał się dom Javy: C:\program files\java\jre1.1.6.

W końcu dowiedziałem się, że muszę tylko ustawić -Djava.home=c:\java\jdk1.6 jak w Komendzie poniżej, i działa dobrze teraz:

%MAVEN_JAVA_EXE% %MAVEN_OPTS% -classpath %CLASSWORLDS_JAR% "-Dclassworlds.conf=%M2_HOME%\bin\m2.conf" "-Djava.home=%JAVA_HOME%" "-Dmaven.home=%M2_HOME%" %CLASSWORLDS_LAUNCHER% %MAVEN_CMD_LINE_ARGS%

Uwaga: To jest dla mvn w linii poleceń, a nie dla Eclipse.

 3
Author: smngo,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-06-14 16:05:06

Problem rozwiązałem zmieniając lokalizację zainstalowanego JRE na katalog obecny w samym JDK. Ustawienie właściwej wartości zmiennej środowiskowej JAVA_HOME nie rozwiązało problemu.

W moim przypadku są dwa katalogi

  • C:\Program Files\Java\jdk1.7.0_03 --> For JDK

  • C:\Program Files\Java\jre7 --> For JRE

Początkowo ustawiłem C:\Program Files\Java\jre7 jako zainstalowany JRE w Eclipse i otrzymywałem ten sam błąd w przypadku Mavena (Ant działał dobrze).

Zmieniając zainstalowany JRE na C:\Program Files\Java\jdk1.7.0_03\jre7 jako zainstalowany JRE w Eclipse problem rozwiązany.

 2
Author: Nikhil,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-09-29 23:02:10

Pamiętaj, że jeśli uruchamiasz swój projekt z konkretnej konfiguracji Eclipse, powinieneś zmienić środowisko Java Runtime w 'Run Configurations' -- > 'Your Maven configuration' -- > 'JRE tab' po dodaniu odpowiedniego JDK do swoich preferencji Eclipse.

 2
Author: Ivan Fernandez,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-02-04 15:10:59

Wygląda na to, że Maven używa JRE, a nie JDK. Może zainstalowałeś Mavena przed instalacją JDK?

Sprawdź Pliki Ustawień . W sumie są trzy: system, użytkownik i projekt. Jest to najprawdopodobniej w konfiguracji instalacji ($m2_home / conf / settings.xml) lub ewentualnie konfiguracja per-user (${user.dir}/.m2 / ustawienia.xml).

 2
Author: Devon_C_Miller,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-06-14 15:31:27

Eclipse setup only

Wykonaj następujące kroki:

  1. Kliknij prawym przyciskiem myszy na Eclipse project Properties

  2. Java Build Path → Libraries

  3. Wybierz JRE System Library → kliknij przycisk Edytuj

  4. Kliknij " Installed JREs..."button

  5. Edytuj JRE jako: Set JRE Home = JAVA_HOME or JAVA_HOME\jre

Zrzut ekranu:

Tutaj wpisz opis obrazka

 2
Author: Parthasarathy B,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-06-14 16:13:24

Kliknij prawym przyciskiem myszy na menu projektWłaściwościJava Build Path .

Wybierz ścieżkę systemową JRE → edytuj . Wybierz domyślne JRE w przestrzeni roboczej i wskaż go na JDK > 1.4.

 1
Author: asHIS,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-06-14 15:39:55

Użyj menu OknoPreferencjeJavazainstalowane JREsśrodowiska wykonawcze - > Kliknij pole wyboru po prawej stronie.

 1
Author: Gambotic,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-06-14 15:49:24

Rozwiązanie jest proste. Sometimes the Eclipse WindowsPreferencjeJavazainstalowane JREs wskazujące na C:\Program files\Java\jre.

Kiedy zmieniłem go na C:\Program files\Java\JDK 6.0\jre działa w 100%.

 1
Author: santhosh,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-06-14 15:53:34

Jak wspomniało kilka innych, okno Eclipse Preferencje...Javazainstalowane JREs powinno wskazywać na JDK , , a nie na JRE. Tylko wtedy może znaleźć folder ../lib wymieniony w komunikacie o błędzie.

Nawet z tym, problem może się powtórzyć. Moim wyjściem w Eclipse v4.2 (Juno) jest wykonanie menu MavenAktualizacja projektu...Po czym problem znika.

I podejrzewam, że powodem jest to, że niektóre z plików generowanych przez Eclipse (.classpath,projekt, .preferencje) są w Subversion dla projektu, w którym mam te problemy. Tak więc, aktualizacja SVN wprowadza problem, a aktualizacja konfiguracji z Mavena w Eclipse rozwiązuje go ponownie.

Prawdziwe rozwiązanie: pomiń wygenerowane Eclipse .pliki z kontroli wersji , A wtyczka Maven Eclipse zajmie się konfiguracją projektu. (Dodatkowe wskazówki / sugestie są Witamy) .

 1
Author: avandeursen,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-06-14 16:09:03

W moim przypadku w menu Eclipse Uruchomkonfiguracje debugowania .

W zakładce JRE wybranie JDK zamiast JRE rozwiązało problem.

 1
Author: Vathsala Weerasinghe,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-06-14 16:15:04

Miałem ten sam problem na Amazon Linux. Okazało się, że musiałem zainstalować deweloperską wersję JDK:

sudo yum -y install java-1.7.0-openjdk-devel
 1
Author: Evan Siroky,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-06-14 16:20:48

Przejdź do menu Eclipse OknoPreferencje...Javazainstalowany JREs powinien wskazywać na zainstalowany JDK, a nie na JRE.

 1
Author: Sudipto,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-06-14 16:26:13

Możesz również upewnić się, że Eclipse posiada wszystkie zaktualizowane zmiany. Aby to zrobić, kliknij prawym przyciskiem myszy projekt, a następnie naciśnij pozycję menu "Odśwież".

 0
Author: GregNash,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-04-16 23:35:13

Wiele innych odpowiedzi mówi, aby skierować swoje Eclipse do JDK zamiast JRE.

Oto kolejna odpowiedź z bardziej konkretną / jasną [niż widziałem w jakiejkolwiek odpowiedzi tutaj] krok po kroku, jak to zrobić: Jak zainstalować JDK?

To jest to, co dla mnie rozwiązało ten sam problem.

 0
Author: cellepo,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 10:31:12

Upewnij się, że "- vm " w Twoim eclipse.ini jest na dwóch liniach sperate, czyli:

-vm
C:\Program Files\Java\jdk1.6.0_06
 0
Author: Kevin Van Dyck,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-03-20 12:30:12

Domyślam się, że lokalizacja kompilatora jest zdefiniowana w POM, aby wtyczka kompilatora znajdowała się w wyświetlanej lokalizacji JRE, zamiast lokalizacji JDK, na którą wskazujesz JAVA_HOME.

 0
Author: Robin,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-06-14 15:30:11

Musisz wskazać JAVA_HOME w mvn.ini (jest w folderze Maven /bin), a twój problem zniknie.

 0
Author: Javicha,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-06-14 15:54:22

Jeśli ustawisz JAVA_HOME, a problem będzie się powtarzał, spróbuj wykonać następujące czynności.

(miałem ten sam problem, na świeżo zainstalowanym komputerze.)

Zakładając, że używasz Eclipse.

  • Otwórz oknoPreferencjeJavaInstalled JRE ' s . Usuń wszystko, co tam masz, dodaj żądany, którego chcesz użyć (JDK, nie JRE!)
  • w tym samym oknie otwórz maven-installations, dodaj instalację Mavena pobraną i rozpakowaną gdzieś. (nie stosować wbudowana instalacja Maven. Ma kilka znanych błędów.)

To wszystko. Twój projekt nie będzie cierpiał z powodu takich problemów.

 0
Author: Marcell,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-06-14 16:01:52

Miałem ten sam błąd, ze względu na wersję JUnit . Miałem trzy 3.8.1 i zmieniłem na 4.8.1.

Więc rozwiązaniem jest:

Musisz przejść do POM i upewnić się, że będziesz wyglądał tak

<dependency>
  <groupId>junit</groupId>
  <artifactId>junit</artifactId>
  <version>4.8.1</version>
  <scope>test</scope>
</dependency>
 0
Author: Ibo,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-06-14 16:16:58

Zmieniłem konfigurację Maven-compiler-plugin, aby dodać executable i fork z wartością true.

<configuration>
    <fork>true</fork>
    <source>1.6</source>
    <target>1.6</target>
    <executable>C:\Program Files\Java\jdk1.6.0_18\bin\javac</executable>
</configuration>
U mnie zadziałało.
 0
Author: Soumyajit Swain,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-06-14 16:18:05

Do Echo %JAVA_HOME% a następnie mvn --version.

Ścieżka JRE powinna być taka sama... następnie przejdź do menu OknoPreferencjeJavazainstalowane miejsce JRE powinno być takie samo jak to, co pokazuje Java_Home.

 0
Author: vandana,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-06-14 16:20:01

Przejdź do okna dialogowego Właściwości i kliknij prawym przyciskiem myszy projekt.

W Linked resources Dodaj nową ścieżkę o nazwie JAVA_HOME i umieść w swojej lokalizacji JDK, coś w stylu "C:\Program Files\Java\jdk1.8. 0_73"

To wszystko!!

 0
Author: Macu Gómez,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-06-14 16:22:12

Rozwiązanie tego problemu jest bardzo proste...

Jeśli nie masz Mrówka zbuduj plik, a następnie Wygeneruj go. W Eclipse można łatwo utworzyć plik Ant .

Odwołaj się do linku, aby utworzyć Ant plik budowania [http://www.codejava.net/ides/eclipse/how-to-create-ant-build-file-for-existing-java-project-in-eclipse].

Teraz wykonaj podane kroki:

1) Dodaj swój Ant zbuduj plik w widoku Ant, który jest w widoku okno.

2) Kliknij prawym przyciskiem myszy plik Ant build i wybierz Uruchom jako i drugą opcję w tym "Ant Build".

3) teraz otworzy się okno dialogowe z różnymi opcjami i zakładkami.

4) Wybierz zakładkę JRE .

5) zobaczysz trzy przyciski radiowe i będą one miały JRE lub JDK wybrane jako opcja.

6) przyjrzyj się uważnie, jeśli Opcje opcji opcji mają JRE jako zaznaczone, a następnie zmień je na JDK .

7) Kliknij Zastosuj.

To jest to...!!!

 0
Author: Nishat Lakhani,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-06-14 16:23:52