Kompiluję projekt w Eclipse przy użyciu m2eclipse. Ustawiam ścieżkę JDK w Eclipse w następujący sposób:
Windows-->preferences-->installed jres--> jdk1.7.xx path
Ale to pokazuje błąd
[ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[ERROR] No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?
[INFO] 1 error
[INFO] -------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.424s
[INFO] Finished at: Tue Oct 29 15:21:01 IST 2013
[INFO] Final Memory: 5M/15M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler- plugin:3.1:compile (default-compile) on project TEST-WEB: Compilation failure
[ERROR] No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?
Odpowiedzi:
Ponadto może być konieczna zmiana środowiska Javen Maven (patrz odpowiedź @ jlars62) w następujący sposób. Idź do Uruchom -> Uruchom konfiguracje, wybierając kompilację Maven, którą uruchomiłem (z lewego panelu). Następnie kliknąłem zakładkę JRE i wybrałem opcję Domyślne środowisko JRE
źródło
Dla mnie to właśnie narzeka raj zaćmienia
Więc wciskam
Edit
przycisk i zmieniam ścieżkę do folderu JDK, następnie czyszczę projekt i wszystko zaczyna działaćźródło
Installed JREs
zamiast folderu jdk należy umieścić . Ale to naprawdę rozwiązało problem. DziękiJAVA_HOME
zmienną środowiskową na folder główny JDK - wymagany, jeśli uruchomisz wiersz poleceń lub maven (mvn
).JAVA_HOME
więcej informacji)źródło
Dla mnie nic nie działało, dopóki nie wprowadziłem tej zmiany w pliku pom.xml:
Inne notatki
Widziałem, że m2e działa w środowisku JRE, a nie w JDK. Nic, co zrobiłem, nie zmieniło tego, w tym dodając to do pliku eclipse.ini:
Ostatecznie nigdy nie udało mi się uruchomić m2e w JDK, ale ustawienie jawnego kompilatora Java (jak wyżej) załatwiło sprawę.
źródło
W moim przypadku problem został rozwiązany poprzez:
Przejdź do „Konfiguracji środowiska wykonawczego” i skonfiguruj środowisko JRE na JDK.
Skopiowałem odpowiedź na wypadek, gdyby z jakiegoś powodu została usunięta, ale źródło jest tutaj
źródło
Wystąpił ten błąd podczas próby wykonania kompilacji maven z poziomu zaćmienia.
Dla mnie odpowiedzią było
Run
->Run Configurations
wybranieMaven Build
I uruchomiony (z lewego panelu). Następnie kliknąłemJRE
kartę i wybrałem opcjęWorkspace default JRE
źródło
może być już dodany
i poszukaj JDK w mojej skrzynce było
C:\Program Files\Java\jdk1.8.0_111
zobaczysz takie okno
I gotowe.
źródło
Mam ten sam problem i po prostu dodaję
JAVA_HOME
do zmiennych środowiskowych .JAVA_HOME
otwartego wiersza poleceń z katalogu projektu i uruchommvn clean install
(nie używaj terminalu intellij).źródło
Próbowałem wszystkich powyższych, jednak nadal pojawia się ten sam komunikat o błędzie.
W moim przypadku rzeczywiste środowisko JRE zostało niepoprawnie użyte jako biblioteka systemowa JRE w specyficznej dla projektu ścieżce kompilacji, co oczywiście przesłaniało wszystkie inne ustawienia tutaj omówione.
Jeśli tak jest w twoim przypadku, spróbuj wykonać następujące czynności:
źródło
<build> <sourceDirectory>flockWebclient</sourceDirectory> <resources> <resource> <directory>resources</directory> <excludes> <exclude>**/*.java</exclude> </excludes> </resource> </resources> <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>3.5.1</version> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin> </plugins> </build>
swój pom.xmlAlternatywą, jeśli odpowiedź jaipster nie działa, jest przejście do:
Okno> Preferencje> Java> Zainstalowane środowiska JRE
Następnie, aby edytować środowisko JRE, tak aby wskazywało na JDK, a nie JRE (JRE Home złożony w edytorze pakietów JRE)
To działało dla mnie.
źródło
Jeśli uruchamiasz
Maven
polecenie zcmd
, upewnij się, że ustawiłeś ścieżkę jdk przed uruchomieniem polecenia. W moim przypadku utworzyłem.bat
plik zawierający następujące elementy:źródło
Napotkałem ten sam problem, próbując zbudować plik jar mojej aplikacji projektowej przy użyciu
mvn clean install
, chociaż aplikacja działała dobrze podczas uruchamiania z Eclipse.Problem był rzeczywiście zbyt naiwny, że nie ustawiłem zmiennej środowiskowej JAVA_HOME . Wszystko, co musiałem zrobić, to ustawić zmienną środowiskową JAVA_HOME na katalog JDK, upewnij się, że nie będzie to do „\ bin” i bez średnika ”;” .
Jak to zrozumiałem to:
Aplikacja działała dobrze w Eclipse, ponieważ JRE System Library odnosiła się do JRE wewnątrz folderu JDK zamiast zewnętrznego folderu JRE bez JDK. [Jak wyjaśniono bardzo dobrze w innych odpowiedziach]
Ta konfiguracja nie dotyczy polecenia maven , które uruchamiamy w wierszu polecenia. Będzie nadal szukał zmiennej JAVA_HOME, aby uzyskać dostęp do biblioteki systemowej JRE, a gdy nie zostanie znaleziony, odnosi się do zewnętrznego folderu JRE bez JDK.
źródło
Istnieje kilka opcji do określenia.
Kroki: bezpośrednio w projekcie w eksploratorze projektów Przejdź do Uruchom-> Uruchom konfigurację -> Kliknij Maven Build -> Kliknij na build build / lub utwórz nowy config. Zobaczysz okno jako podaną migawkę poniżej, kliknij tam zakładkę JRE.
Widzisz, masz 3 opcje 1) Domyślne środowisko robocze JRE 2) Środowisko wykonawcze 3) Alternatywne środowisko JRE 1) Domyślne środowisko robocze JRE jest ustawiane z menu „Okno” u góry -> Preferencje -> Java -> Zainstalowane środowiska JRE - Tutaj możesz dodać swój jdk 2) Środowisko wykonawcze jdk można ustawić w pom.xml, jak wspomniano w @ksnortum
3) Alternatywnego środowiska JRE można użyć do wybrania jdk z katalogu
źródło
Dla mnie środowisko JRE znajdowało się w zmiennej środowiskowej PATH przed ścieżką JDK
Więc usunąłem 1. Prawdopodobnie zamiana ich też by to naprawiła.
źródło
Moja odpowiedź dotyczy środowiska Eclipse w środowisku Windows.
Poszedłem do Preferencji -> Java -> Zainstalowane środowiska JRE NIE widziałem tutaj JDK. Widziałem tylko JRE tutaj. Więc dodałem JDK, a następnie odznaczyłem JRE. Następnie sprawdziłem JDK. Następnie uruchomiłem plik POM za pomocą Run Configurations. Wybierz zakładkę JRE i wybierz opcję „Workspace Default ...” Oto obrazy
źródło
Opis problemu = W tym środowisku nie ma kompilatora. Być może używasz JRE zamiast JDK? intellij
Rozwiązanie
Aby zmienić problem, ustaw zmienną Środowisko jak poniżej
Nazwa zmiennej : JAVA_HOME
Wartość zmiennej : C: \ Program Files \ Java \ jdk1.8.0_202
Nazwa zmiennej : M2_HOME
Wartość zmiennej : C: \ Program Files \ apache-maven-3.6.0
Ponadto dodaj ścieżkę Java i maven w „ Zmiennych systemowych ”, jak poniżej:
C: \ Program Files \ Java \ jdk1.8.0_202 \ bin
C: \ Program Files \ apache-maven-3.6.0 \ bin
źródło
Jest jeszcze jedna możliwa odpowiedź na to pytanie i być może jestem jedyną głupotą, na którą natknąłem się na to, ale myślę, że warto ją dodać, ponieważ żadna z pozostałych odpowiedzi nie została zastosowana, ponieważ miałem już prawidłowe ustawienia.
Podczas instalowania pakietu JDK instalator pyta, gdzie chcesz zainstalować pliki. Domyślnie w systemie Windows jest to coś w rodzaju C: \ Program Files \ Java \ jdk1.8.0_74 (lub jakiejkolwiek instalowanej wersji).
Następnie prosi o katalog do zainstalowania środowiska JRE, który domyślnie jest podobny do C: \ Program Files \ Java \ jre1.8.0_74.
Zauważ, że jeden to jdk 1.8.0_74, a drugi to jre 1.8.0_74
Pośpieszyłem i myśląc, że instalator zadał mi to samo pytanie dwukrotnie, ustaw zarówno moje instalacje JDK, jak i JRE na D: \ devtools \ jdk \ jdk1.0.0_74, w wyniku czego instalator zastąpi JDK JREK. Spowodowało to (między innymi) brakujący plik javac.exe w moim bin JDK i ten sam błąd, który OP zgłosił tutaj we wszystkich moich kompilacjach maven.
źródło
Mam rozwiązanie.
Najczęstszym rozwiązaniem tego problemu jest zmiana lokalizacji jdk jako moich zainstalowanych środowisk JRE zamiast lokalizacji środowiska JRE ale to nie rozwiązało mojego problemu tym razem.
Zrobiłem więc poniżej, aby rozwiązać problem. Rozwiń kartę Zainstalowane środowiska JRE , a znajdziesz środowiska wykonawcze kartę .
Kliknij swoje ulubione środowisko wykonywania. W moim przypadku był to JAVASE-1.8 . Tam pokazuje 2 opcje. JDK i JRE . Wybierz JDK i problem zostanie rozwiązany.
źródło
Właśnie zmarnowałem 3 godziny z tym problemem, dopóki nie udało mi się go uruchomić. Wystąpił ten błąd w terminalu Eclipse podczas wydawania polecenia kompilacji mvn:
W tym środowisku nie ma kompilatora. Być może używasz JRE zamiast JDK?
Przeczytałem tutaj, że muszę utworzyć nową zmienną systemową o nazwie JAVA_HOME i wskazać folder instalacyjny jdk. Generowało to jednak kolejny błąd:
Opcja źródła 1.5 nie jest już obsługiwana. Użyj wersji 1.6 lub nowszej
Nie można znaleźć rozwiązania tego problemu, więc ...
Tak więc poprawką, aby wszystko odeszło, jest instalacja Java SE Development Kit 8! Używałem 9, myśląc, że jeśli jest to najnowszy, musi być lepszy ...
Tak czy siak...
Zainstaluj JDK8 tutaj: http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
Następnie zdefiniuj wartość środowiskową systemu JAVA_HOME - samouczek tutaj: https://docs.oracle.com/cd/E19509-01/820-3208/inst_cli_jdk_javahome_t/
Uruchom ponownie Eclipse i ciesz się! (przynajmniej tak zrobiłem)
Mając nadzieję, że oszczędza to jakiegoś biednego wędrowca na kłopoty.
źródło
W moim przypadku ścieżka do zmiennej systemowej ma lokalizację „C: \ ProgramData \ Oracle \ Java \ javapath”.
W lokalizacji „C: \ ProgramData \ Oracle \ Java \ javapath” javaaw javaw tylko tam. Otrzymuję ten sam błąd.
Po usunięciu wszystkich plików w folderze „C: \ ProgramData \ Oracle \ Java \ javapath” mój błąd został rozwiązany.
źródło
Próbowałem większości odpowiedzi bez powodzenia. To, co zadziałało, to (po następujących https://stackoverflow.com/a/21279068/2408893 ):
źródło
Chociaż pytanie dotyczy błędu podczas
Eclipse
instalacji, aleIntelliJ
może być pomocna tutaj odpowiedź na naprawienie tego błędu przy pomocy instalacji systemu Windows 10.1 . Przejdź do
File
->Settings
->Build, Execution, Deployment
->Build Tools
->Maven
->Importing
2 . Ustaw
JDK
dla,Importer
jak pokazano poniżej dlaJAVA_HOME
Również
JAVA_HOME
powinno być ustawione naJDK
ścieżce przy Zmienne środowiskowe -> Zmienne systemowe, a także dodać%JAVA_HOME%\bin
do ścieżki zmiennych systemowychźródło
napotkałem ten sam problem, błąd, który popełniłem, polegał na tym, że dodałem ścieżkę JRE tylko do ścieżki var, a nie ścieżki JDK. Kiedy ścieżka JDK została dodana do ścieżki i zbudowałem projekt maven działający idealnie. Dzięki wszystkim
źródło
Dokonałem następującej zmiany i zadziałało to dla mnie. Mam nadzieję, że to komuś pomaga.
źródło
Spróbuj tego.
źródło
Dodaj nową definicję JRE (wybierz ścieżkę JDK), działało dla mnie.
http://help.eclipse.org/neon/index.jsp?topic=%2Forg.eclipse.jdt.doc.user%2Ftasks%2Ftask-add_new_jre.htm
źródło
Otrzymałem ten sam błąd, gdy utworzyłem nową instancję EC2 ubuntu 16.04 z już zainstalowaną Javą i podczas uruchamiania pakietu mvn clean napotkałem ten problem i poniższe rozwiązanie działało dla mnie.
Jeśli pracujesz na serwerze Ubuntu, możesz spróbować zainstalować ponownie Javę i możesz użyć tej odpowiedzi Jak zainstalować JDK na Ubuntu Linux
źródło
W systemie Windows 7 - 64-bitowym występuje problem z uprawnieniami, który uniemożliwia instalatorowi rozpakowanie pliku C: \ Program Files \ Java \ jdk1.6.xx \ lib \ tools.jar do pliku lokalnego. Ten plik jar jest tym, czego używa maven-compiler-plugin wersja 3.x zamiast zwykłego javaca
Rozwiązanie: Uruchom jako administrator instalator Java JDK! I upewnij się, że tools.jar znajduje się w C: \ Program Files \ Java \ jdk1.6.xx \ lib \
Jeśli używasz wtyczki integracji m2e maven, chcesz, aby plik był widoczny dla Eclipse, wykonując następujące kroki w Eclipse:
Przejdź do okna -> Preferencje -> Java -> zainstalowane środowiska JRE Wybierz używany pakiet JDK (C: \ Program Files \ Java \ jdk1.6.xx) Naciśnij przycisk Edycja, aby wyświetlić listę słoików, w tym tools.jar, LUB możesz dodaj go jako Dodaj zewnętrzny JAR Następnie skonfiguruj uruchamianie maven, wykonując następujące kroki:
Uruchom -> Uruchom konfiguracje -> Wpisz nazwę, katalog podstawowy i cele. Następnie w tym samym oknie przejdź do zakładki JRE i wskaż JDK \ jdk1.6.xx \
źródło
Oprócz odpowiedzi powyżej, mogę powiedzieć, że po prostu spróbuj uruchomić Maven z terminala (poza Eclipse). W ten sposób, jeśli buduje się z zewnątrz, ale nie w Eclipse, możesz zrozumieć, że problem powinien być w Eclipse.
źródło
Istnieje kilka odpowiedzi dotyczących tego pytania, ale wszystkie są związane z prawidłową konfiguracją JDK, ale tylko w JRE możemy rozwiązać ten problem.
Musimy jedynie skorzystać z zestawu wdrożeniowego, aby skonfigurować ścieżkę spakowanego pliku wojennego projektu Java EE, a następnie ponownie uruchomić instalację maven.
Kroki, aby skorzystać z zestawu wdrażania:
Kliknij prawym przyciskiem myszy projekt Jave EE -> kliknij Właściwości -> kliknij Zespół wdrażania
Kliknij przycisk Dodaj -> kliknij Archiwum z systemu plików -> kliknij Dalej -> kliknij Dodaj -> Przejdź do katalogu .m2 \ respository i wyszukaj wygenerowany plik wojenny -> Wybierz plik wojenny -> Kliknij przycisk Otwórz -> Kliknij Zastosuj -> OK
Kliknij projekt prawym przyciskiem myszy -> Kliknij Zainstaluj Maven w Uruchom jako
Pomoże to zbudować projekt bez żadnych błędów kompilatora.
Mam nadzieję, że to rozwiązuje problem bez JDK.
źródło