Er is geen compiler voorzien in deze omgeving. Misschien draait u op een JRE in plaats van een JDK?

Ik ben een project aan het compileren in Eclipse met behulp van m2eclipse. Ik stel het JDK-pad in Eclipse als volgt in:

Windows-->preferences-->installed jres--> jdk1.7.xx  path

Maar dit geeft een fout weer

[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?

Antwoord 1, autoriteit 100%

  1. Ga op uw Eclipse IDE naar Venster> Voorkeuren> Java> JRE’s geïnstalleerd> en controleer uw geïnstalleerde JRE’s. Je zou daar een vermelding met een JDK moeten hebben.
  2. Selecteer de Execution Env zoals hieronder getoond. Klik op OK
  3. Dan Klik met de rechtermuisknop op op uw project – & GT; Maven – & GT; Update-project

Bovendien moet u mogelijk Maven JRE veranderen (zie @ JLARS62-antwoord) dat als volgt is. Goto Run – & GT; Voer configuraties uit en selecteer de MAVEN-build die ik draaide (vanuit het linkerpaneel). Dan klikte ik op het tabblad JRE en selecteerde ik de optie Werkruimte Standaard JRE


2, Autoriteit 14%

Voor mij is het precies wat de Maven van Eclipse

klaagt

Dus, ik druk op Edit-knop en wijzig het pad naar de JDK-map en reinig het project en alles begint te werken


3, Autoriteit 14%

  1. Stel de JAVA_HOMEMilieuvariabele in op de JDK-rootmap – vereist als u opdrachtregel of MAVEN (mvn) uitvoert.
    • (zoek Google voor JAVA_HOMEvoor meer info)
  2. in projecteigenschappen in de sectie Java Compiler Selecteer Vereist JDK – Als u rechtstreeks van de Eclipse uitvoert

4, Autoriteit 13%

Voor mij werkte niets totdat ik deze verandering in mijn POM.XML heb gemaakt:

<build>
...
    <plugins>
    ...
        <plugin>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.1</version>
            <configuration>
                <fork>true</fork>
                <executable>C:\Program Files\Java\jdk1.7.0_45\bin\javac.exe</executable>
            </configuration>
        </plugin>
    </plugins>
</build>

Andere noten

Ik kon zien dat M2E deed in een JRE, niet de JDK. Niets dat ik dit heb veranderd, inclusief het toevoegen van dit aan de Eclipse.ini:

-vm
C:\Program Files\Java\jdk1.7.0_45\bin\javaw.exe

Uiteindelijk kreeg ik nooit M2E om in een JDK uit te voeren, maar het instellen van de Java-compiler expliciet (zoals hierboven) deed de truc.


5, Autoriteit 4%

In mijn geval werd het opgelost door dit te doen:

Ga naar uw ‘runtime-configuratie’ en configureer uw JRE naar een JDK.

Ik heb antwoord gekopieerd voor het geval het om een ​​of andere reden wordt verwijderd, maar de bron is hier


6, Autoriteit 4%

Ik kreeg deze foutmelding bij het proberen om een ​​Maven te doen gebouwd vanuit de Eclipse.

Voor mij ging het antwoord naar Run– & GT; Run Configurations, Selecteren van de Maven BuildI WAS GEBEURD (VANAF HET LINKER PANEEL). Dan klikte ik op de JRETabblad en selecteerde de optie Workspace default JRE


7, Autoriteit 3%

Ga naar Windows – & GT; Voorkeuren – & GT; Java – & GT; Geïnstalleerde JRES

Misschien is JRE al toegevoegd

Klik op Add – & GT; Standaard VM – & GT; Volgende – & GT; Directory

en blader naar de JDK
In mijn geval was pad C:\Program Files\Java\jdk1.8.0_111

Klik vervolgens op Voltooien.

U ziet venster zoals deze

Selecteer JDK – & GT; Solliciteer – & GT; OK

en u bent klaar.


8, Autoriteit 2%

Ik heb hetzelfde probleem en ik voeg gewoon JAVA_HOMEtoe aan Milieuvariabelen .

  • Als u Eclipse gebruikt, raadpleegt u https://stackoverflow.com/a/21279068/6097074
  • Als u intellij gebruikt, net na het toevoegen van JAVA_HOMEopdrachtprompt openen van projectdirectory en voer mvn clean install(gebruik geen intellij-terminal).

9

Ik heb echter al het bovenstaande geprobeerd, nog steeds hetzelfde foutmelding krijgt.

In mijn geval werd een werkelijke JRE verkeerd gebruikt als JRE-systeembibliotheek in het projectspecifieke buildpad dat duidelijk al die andere instellingen die hier hebben besproken.

Als dat zo in uw geval is, probeer dan het volgende:

  1. Open de projectspecifieke bibliotheken van het Java Build Path: klik met de rechtermuisknop op “Project & GT; Build Path & GT; Configureer Path …” en selecteer het tabblad “Libraries”.
  2. Selecteer de invoer “JRE SYSTEEMBIBIER” en druk op “Verwijderen”.
  3. Hit “Bibliotheek toevoegen …”.
  4. Een tovenaar verschijnt omhoog. Selecteer “JRE System Library” en druk op “NEXT & GT;”.
  5. Selecteer nu de juiste JDK (in My Case “Workspace Default Jre”, die ik
    geconfigureerd met behulp van een JDK).
  6. Sluit de wizard door “Eind” te raken.
  7. Sluiten “Eigenschappen” dialoogvenster door “OK” te raken.

10

Een alternatief als het antwoord van Jaipter niet werkt, is om naar
te gaan
Venster & GT; Voorkeuren en GT; Java & GT; Geïnstalleerde JRES

Om de JRE te bewerken, zodat het naar de JDK wijst en niet de JRE (het JRE-home is ingediend in de JRE PAKANTIE EDOR)

die voor mij werkte.


11

Als u de Mavenopdracht uitvoert van cmd, zorg ervoor dat u het JDK-pad instelt voordat u de opdracht uitvoert. In mijn geval heb ik een .batbestand met het volgende:

set JAVA_HOME=C:\Program Files\Java\jdk1.8.0_60
start cmd.exe /k "cd c:\aem_proj\sis\aau"

12

Mijn antwoord heeft betrekking op de Eclipse in Windows-omgeving.

Ik ging naar voorkeuren – & GT; Java – & GT; Geïnstalleerde JRES
Ik heb de JDK hier niet gezien. Ik zag de JRE alleen hier.
Dus ik heb de JDK toegevoegd en vervolgens de JRE uitgezocht. Vervolgens gecontroleerd JDK.
Dan liep ik het POM-bestand met Run Configureations. Kies het tabblad JRE en selecteer de optie “Werkruimte Standaard …”
Hier zijn de afbeeldingen


13

Er zijn verschillende opties om op te geven.

Stappen:
Recht op project in Project Explorer
Ga naar Run- & GT; Voer configuratie uit – & GT; Klik op Maven Build – & GT; Klik op uw Build Config / of maak een nieuwe config.
U ziet het venster als de volgende snapshot hieronder, klik op JRE-TAB daar.

U ziet dat u 3 opties hebt 1) Werkruimte Standaard JRE 2) Uitvoeringsomgeving 3) Alternate JRE

1) Werkruimte Standaard JRE is ingesteld in het menu ‘Window’ op de top – & GT; Voorkeuren – & GT; Java – & GT; Geïnstalleerd JRES – Hier kunt u uw JDK toevoegen

2) Uitvoeringsomgeving jdk kan worden ingesteld in pom.xml zoals vermeld door @ksnortum

<build>
<plugins>
    <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.1</version>
        <configuration>
            <fork>true</fork>
            <executable>C:\Program Files\Java\jdk1.7.0_45\bin\javac.exe</executable>
        </configuration>
    </plugin>
</plugins>

3) Alternatieve JRE kan worden gebruikt om een jdk uit uw directory te selecteren


Antwoord 14

Probleemverklaring= Er is geen compiler voorzien in deze omgeving. Misschien draait u op een JRE in plaats van een JDK? verstand

Oplossing

Stel de Omgevingsvariabelein zoals hieronder om het probleem op te lossen

Naam variabele: JAVA_HOME

Variabele waarde: C:\Program Files\Java\jdk1.8.0_202

Naam variabele: M2_HOME

Variabele waarde: C:\Program Files\apache-maven-3.6.0

Bovendien, voeg Java en maven-pad toe in “Systeemvariabelen” zoals hieronder:

  1. C:\Program Files\Java\jdk1.8.0_202\bin

  2. C:\Program Files\apache-maven-3.6.0\bin


Antwoord 15

Hoewel de vraag gaat over de fout bij het instellen van Eclipse, maar een antwoord om deze fout op te lossen met IntelliJen het instellen van Windows 10, zou hier ook nuttig kunnen zijn.

1. Ga naar File–> Settings–> Build, Execution, Deployment–> Build Tools–> Maven–> Importing

2 . Stel JDKin voor Importerzoals hieronder weergegeven in JAVA_HOME

Ook JAVA_HOMEmoet worden ingesteld op JDKPATH OP MILIEU VARIABELEN – & GT; Systeemvariabelen en ook toevoegen %JAVA_HOME%\binAAN PAP-systeemvariabelen


16

Voor mij was de JRE in de variabele Padomgeving vóór het JDK-pad

  1. c: \ programdata \ Oracle \ Java \ Javapath
  2. C: \ ENV \ JDK1.8.0_151 \ BIN

Dus ik verwijderde 1. Waarschijnlijk ruilen ze het ook.


17

Ik heb een oplossing.

De meest gebruikelijke oplossing voor dit probleem is om jdk-locatiete wijzigen als mijn geïnstalleerde JRE’sin plaats van de JRE-locatiemaar dat loste mijn probleem deze keer niet op.

Dus ik deed het onderstaande om het probleem op te lossen.
Vouw het tabblad Geïnstalleerde JRE’suit en u zult een tabblad Uitvoeringsomgevingenvinden.

Klik op uw favoriete uitvoeringsomgeving. In mijn geval was het JAVASE-1.8. Daar toont het 2 opties. JDK en JRE. Selecteer daar JDKen het probleem is opgelost.


Antwoord 18

Ik heb de meeste antwoorden zonder succes geprobeerd.
Wat voor mij werkte was (na het volgen van https://stackoverflow.com/a/21279068/2408893):

  • klik met de rechtermuisknop op project -> Eigenschappen
  • selecteer Java-buildpad
  • selecteer de JRE-systeembibliotheek
  • klik op bewerken
  • Selecteer in de uitvoeringsomgeving een jdk

  • klik op Voltooien
  • bouwen en uitvoeren

Antwoord 19

Ik heb net 3 uur met dit probleem verspild totdat ik erin slaagde het te laten werken.
Ik had deze fout in de Eclipse Terminal bij het geven van een mvn compileeropdracht:

Er is geen compiler voorzien in deze omgeving. Misschien draait u op een JRE in plaats van een JDK?

Dus ik lees hier dat ik een nieuwe systeemvariabele moet maken met de naam JAVA_HOME en deze naar de jdk-installatiemap moet laten wijzen. Dit leverde echter nog een fout op:

Bronoptie 1.5 wordt niet langer ondersteund. Gebruik 1.6 of hoger

Kon hier geen oplossing voor vinden, dus…

Dus de oplossing om het allemaal te laten verdwijnen, is Java SE Development Kit 8 te installeren!
Ik gebruikte 9 en dacht dat als het de nieuwste is, het beter moet zijn…

Hoe dan ook…

  1. Verwijder alle Java-versies van uw computer
  2. Installeer JDK8 vanaf hier:
    http://www.oracle.com/technetwork/ java/javase/downloads/jdk8-downloads-2133151.html

  3. Definieer vervolgens de omgevingswaarde van het JAVA_HOME-systeem – zelfstudie hier:
    https://docs.oracle.com/cd/E19509-01 /820-3208/inst_cli_jdk_javahome_t/

  4. Herstart Eclipse en geniet ervan! (tenminste dat deed ik)

In de hoop dat dit een arme zwerver wat problemen bespaart.


Antwoord 20

In mijn geval had het systeemvariabele pad de locatie “C:\ProgramData\Oracle\Java\javapath”.

In “C:\ProgramData\Oracle\Java\javapath” locatie java, javaw alleen daar. Ik krijg dus dezelfde fout.

Zodra ik alle bestanden in de map “C:\ProgramData\Oracle\Java\javapath” heb verwijderd, is mijn fout opgelost.


Antwoord 21

ik had hetzelfde probleem, de fout die ik maakte was dat ik jre path alleen in het pad var, niet jdk path toevoegde. Toen jdk path aan path werd toegevoegd en het maven-project bouwde werkte het perfect. Bedankt allemaal


Antwoord 22

Ik heb de volgende wijziging aangebracht en het werkte voor mij. Ik hoop dat het iemand helpt.


Antwoord 23

Probeer dit.

<build>
...
    <plugins>
    ...
        <plugin>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.1</version>
            <configuration>
                <fork>true</fork>
                <executable> path to jdk \bin\javac.exe</executable>
            </configuration>
        </plugin>
    </plugins>
</build>

Antwoord 24

Nieuwe JRE-definitie toevoegen (selecteer pad JDK), werkte voor mij.

http://help.eclipse.org/neon/index.jsp?topic=%2Forg.eclipse.jdt.doc.user%2Ftasks%2Ftask-add_new_jre.htm


Antwoord 25

Ik kreeg dezelfde fout toen ik een nieuwe EC2 ubuntu 16.04-instantie maakte waarop Java al was geïnstalleerd en terwijl ik mvn clean package uitvoerde, kwam ik dit probleem tegen en de onderstaande oplossing werkte voor mij.

Als u op een Ubuntu-server werkt, kunt u proberen Java opnieuw te installeren en daarvoor kunt u dit antwoord gebruiken Hoe de JDK op Ubuntu Linux te installeren


Antwoord 26

In Windows 7 – 64 bit is er een machtigingsprobleem waardoor het installatieprogramma het bestand C:\Program Files\Java\jdk1.6.xx\lib\tools.jar niet kan uitpakken in uw lokale map. Dit jar-bestand is wat maven-compiler-plugin versie 3.x gebruikt in plaats van de gebruikelijke javac

Oplossing:voer als beheerder het Java JDK-installatieprogramma uit! En zorg ervoor dat de tools.jar in de C:\Program Files\Java\jdk1.6.xx\lib\

staat

Als u de m2e maven-integratieplug-in gebruikt, wilt u dat het bestand zichtbaar is voor Eclipse via de volgende stappen in Eclipse:

Ga naar venster -> Voorkeuren -> Java-> geïnstalleerde JRE’s
Selecteer de JDK die u gebruikt (C:\Program Files\Java\jdk1.6.xx)
Druk op Bewerken om de lijst met potten te zien, inclusief tools.jar, OF je kunt het toevoegen als Externe JAR toevoegen
Configureer vervolgens de maven run via deze stappen:

Voer->Voer configuraties uit->Vul naam, basismap en doelen in.
Ga vervolgens in hetzelfde venster naar het JRE-tabblad en wijs naar de JDK \jdk1.6.xx\


Antwoord 27

In aanvulling op het bovenstaande antwoord, zou ik kunnen zeggen dat u Maven gewoon vanaf de terminal (buiten Eclipse) moet uitvoeren. Op deze manier, als het van buitenaf maar niet in Eclipse wordt opgebouwd, kun je begrijpen dat het probleem in Eclipse zou moeten zitten.


Antwoord 28

Er zijn verschillende antwoorden op deze vraag, maar ze hebben allemaal te maken met de juiste padconfiguratie van JDK, maar alleen met JRE kunnen we dit probleem oplossen.

We hoeven alleen gebruik te maken van deployment assembly om het pad van het verpakte war-bestand van het Java EE Project te configureren en vervolgens de maven-install opnieuw uit te voeren.

Stappen om gebruik te maken van deployment assembly:

  1. Klik met de rechtermuisknop op het Jave EE-project –> klik op Eigenschappen
    –> klik op Deployment Assembly

  2. Klik op de knop Toevoegen –> Klik op Archief uit het bestand
    Systeem –> Klik op volgende –> Klik op Toevoegen –> Ga naar de
    .m2\repository directory en zoek naar het gegenereerde war-bestand –>
    Selecteer war-bestand –> Klik op de knop Openen –> Klik op Toepassen –> Oké

  3. Klik met de rechtermuisknop op het project –> Klik op Maven Install onder
    Uitvoeren als

Hierdoor wordt uw project succesvol gebouwd, zonder enige compilerfout.

Ik hoop dat dit het probleem oplost zonder JDK.

Other episodes