Eclipse/Maven-fout: Er is geen compiler beschikbaar in deze omgeving

Ik ben een relatieve nieuwkomer in de wereld van Java enterprise development. De Java-goeroe van mijn organisatie is met verlof voor onbepaalde tijd en ik heb de taak gekregen om enkele van de Java-applicaties die hij heeft ontwikkeld te onderhouden. Hij installeerde Eclipse [Kepler SR1] met Maven op mijn computer voordat hij vertrok, en het leek goed te werken.

Nu ben ik klaar om mijn eerste wijziging te implementeren en moet ik een Maven install uitvoeren, maar ik heb problemen om het werkend te krijgen – ik krijg de volgende uitvoer op mijn console:

[ERROR] Kan doel niet uitvoeren org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) op project mrpapp: compilatie mislukt
[ERROR] Er is geen compiler voorzien in deze omgeving. Misschien draait u op een JRE in plaats van een JDK?

maar ik gebruik zeker een JDK en geen JRE. Ik heb mijn $JAVA_HOME (C:\Program Files (x86)\Java\jdk1.7.0_60) dubbel gecontroleerd en het heeft een javac.exe in de bin directory.

Ik voeg een kopie van mijn pom.xml-bestand bij voor uw beoordeling. Ik weet zeker dat er iets in zit dat het probleem veroorzaakt, maar ik weet niet zeker wat het zou kunnen zijn. Ik gebruik een laptop met Windows 7 64bit, als je meer platform-/omgevingsinformatie nodig hebt, kan ik die ook leveren.

Alle hulp wordt zeer op prijs gesteld.


Antwoord 1, autoriteit 100%

Ga naar Venster > Voorkeuren > Java > Geïnstalleerde JRE’s.

En kijk of er een ingang is die naar uw JDK-pad verwijst, en zo niet, klik dan op de knop Bewerken en voer het pad in dat u uw JAVA_HOME-omgeving hebt geconfigureerd.

p>


Antwoord 2, autoriteit 16%

Screen_shot
Voeg ‘tools.jar’ toe aan geïnstalleerde JRE.

  1. Eclipse -> window -> preference.
  2. Selecteer installed JREs -> Edit
  3. Externe potten toevoegen
  4. selecteer tools.jar in de map java/JDKx.x/lib.
  5. Klik op Voltooien

Antwoord 3, autoriteit 9%

Ga naar Venster > Voorkeuren > Java > Geïnstalleerde JRE’s > en controleer uw geïnstalleerde JRE’s. Je zou daar een vermelding moeten hebben met een JDK.

https://cduu.wordpress.com/2013/03/08/maven-eclipse-compiler-error-no-compiler-is-provided-in-this-environment/


Antwoord 4, autoriteit 7%

Ik heb alle dingen geprobeerd; degene die voor mij werkte is:

  1. Klik met de rechtermuisknop op Eclipse-project en navigeer naar eigenschappen.
  2. Klik op Java Build Path en ga naar het tabblad Bibliotheken.
  3. Controleer welke versie van Java daar is toegevoegd; is het JRE of JDK?
  4. Als je het Maven-project gebruikt en een oplossing wilt bouwen.
  5. Selecteer de JRE die hun heeft toegevoegd en klik op verwijderen.
  6. Klik op Externe klassenmap toevoegen en voeg de JDK-installatie toe door te selecteren
    van het systeem.
  7. Klik op Toepassen en OK.
  8. Herstart Eclipse.
  9. Build geslaagd.

Antwoord 5, autoriteit 5%

Voeg deze configuraties toe in pom.xml

<project ...>
    ...
    <build>
        ...
        <plugins>
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.1</version>
                <configuration>
                    <source>1.7</source>
                    <target>1.7</target>
                    <fork>true</fork>
                    <executable>C:\Program Files\Java\jdk1.7.0_79\bin\javac</executable>
                </configuration>
            </plugin>
        </plugins>
    </build>
    ...
</project>

Antwoord 6, autoriteit 2%

Ik kreeg ook te maken met een soortgelijke fout toen ik met Jdk1.8_92 werkte.
Voor mij ontdekte ik dat tools.jar ontbrak in mijn jdk-map.
Omdat ik in de console werkte, kon ik de opties van eclipse die door anderen werden voorgesteld niet proberen..

Ik heb jdk-8u92-windows-x64 geïnstalleerd.
Nadat ik alle opties had geprobeerd, merkte ik dat tools.jar ontbrak in de map jdk1.8.0_92/lib.
Ik heb tools.jar gekopieerd van mijn oudere versie van java.
Toen kon het compileren.


Antwoord 7, autoriteit 2%

Dit werkte voor mij.
1. Klik op Venster-> Voorkeuren -> JRE geïnstalleerd.
2. Controleer of uw referentie voor JDK is, zoals weergegeven in de onderstaande afbeelding.
voer hier de afbeeldingsbeschrijving in

Zo niet, klik op Add-> Standaard VM -> Geef het JDK-pad op door de map te selecteren en klik op voltooien zoals weergegeven in de afbeelding
voer hier de afbeeldingsbeschrijving in

  1. Laatste stap, klik op Geïnstalleerde JRE’s -> Uitvoeringsomgevingen -> selecteer uw JDE zoals weergegeven in de onderstaande afbeelding
    voer hier de afbeeldingsbeschrijving in

  2. Maven -> Schoon


Antwoord 8

Controleer of u de volgende vermeldingen heeft in het element van uw pom.xml, met name de jdk.version, omdat het overschakelen naar een geïnstalleerde jre mij niet dezelfde fout oploste.

<properties>
    <jdk.version>1.7</jdk.version>
    <spring.version>4.1.1.RELEASE</spring.version>
    <jstl.version>1.2</jstl.version>
    <junit.version>4.11</junit.version>
</properties>

Antwoord 9

als iemand Eclipse in Ubuntu gebruikt en dit probleem heeft, heb ik het antwoord gevonden door deze stappen te volgen:

  1. Eclipse->window->voorkeur.
  2. Selecteer geïnstalleerde JRE’s->Toevoegen
  3. Selecteer standaardVM.
  4. JRE home: druk op de [Directory..]-knop.
  5. Kies je java (mijn probleem was dat mijn eclipse met java8 draaide en mijn VM met java7), in mijn geval was java8 geïnstalleerd in usr/local/jvm/java-8-oracle.
  6. Druk op voltooien.
  7. Druk vervolgens op de geïnstalleerde JRES-pijl zodat je de andere opties kunt zien.
  8. Ga naar Uitvoeringsomgeving.
  9. Selecteer links JavaSE-1.6 en rechts (de compatibele JRE) moet je de Java kiezen die je zojuist hebt geïnstalleerd (in mijn geval java-8-oracle). u moet deze stappen uitvoeren met JavaSE1.8.
  10. Klik op OK en start Eclipse opnieuw.

Antwoord 10

Ik kreeg dezelfde fout bij het uitvoeren van een maven-build in Eclipse in een nieuw geïnstalleerde Eclipse Neon-installatie (voor JEE-ontwikkelaars), op Windows 10 met JDK 8 en JRE 8 geïnstalleerd.

Ik had geprobeerd tools.jar op te geven als een externe lib, evenals de jdk in te stellen als de -vm in eclipse. Geen van deze dingen werkte.

Het selecteren van de JDK als de standaard uitvoeringsomgeving, zoals hierboven vermeld, deed de truc..

  1. Eclipse->window->preference->java->JREs->Execution-omgevingen geïnstalleerd.
  2. Selecteer JavaSE-1.8
  3. Controleer JDK1.8 in “Compatibele JRE’s”.

De tekst boven de compatibele JRE-lijst in stap 3 zegt “een standaard JRE kan worden opgegeven door deze aan te vinken”

Opmerking: ik heb ook de maven compiler-plug-in die expliciet 1.8 vermeldt in de pom

    <plugin>  
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.1</version>
        <configuration>
            <source>1.8</source>
            <target>1.8</target>
        </configuration>
    </plugin>

Antwoord 11

JRE geïnstalleerd
In mijn geval heb ik het probleem opgelost door dubbele namen te verwijderen, ik heb er maar één bewaard met de naam: jdk.1.8.0_101


Antwoord 12

Toen ik mvn compile uitvoerde, kreeg ik onderstaande foutmelding in de console:

[INFO] Changes detected - recompiling the module!
[WARNING] File encoding has not been set, using platform encoding Cp1252, i.e. build is platform dependent!
[INFO] Compiling 1087 source files to C:\Code\DevVNextComplete\Development_vNext\Source\JARS\target\classes
[INFO] -------------------------------------------------------------
[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

[Resolutie]

Ik had de JAVA_HOME variabele toegevoegd aan mijn omgevingsvariabelen en toen werkte het.

voer hier de afbeeldingsbeschrijving in


Antwoord 13

Volg :
Windows –> Voorkeuren –> Java —> Geïnstalleerd JRE’s

Voorbeeldafbeelding

Klik op “Zoeken..”

Navigeer naar C-schijf —> Programmabestanden

Voorbeeldafbeelding 2

Eclipse vindt alle jre’s en jdk’s –> selecteer een van de jdk en selecteer Toepassen


Antwoord 14

In mijn geval had ik een uitvoeringsconfiguratie gemaakt en telkens als ik deze probeerde uit te voeren, werd de fout weergegeven. Na op sommige websites te hebben gezocht, heb ik de runconfiguratie bewerkt en op het JRE-tabblad de runtime-JRE geselecteerd als ‘workspace default JRE’ die ik al had geconfigureerd om te verwijzen naar mijn lokale Java JDK-installatie (bijv. C:\Program Files (x86) \Java\jdk1.8.0_51). Dit loste mijn probleem op. Misschien helpt het iemand daarbuiten.


Antwoord 15

kreeg hetzelfde probleem, wees Java naar de bin-map in eclipse met behulp van:
vensters > voorkeuren > java > geïnstalleerde JRE’s > verwijder alle bestaande JRE en verwijs deze naar uw java bin-map (voornamelijk onder C:\Program Files\Java\jdk1.8.x_xx).

voer vervolgens maven install uit, het zou moeten werken.


Antwoord 16

Om te controleren wat uw Maven gebruikt, opent u een opdrachtregel en typt u:

mvn –version

Controleer of JAVA_HOME verwijst naar een JDK-huis en niet naar een JRE

Op Windows:

Ga naar Systeemeigenschappen -> Geavanceerde systeeminstellingen -> Geavanceerd -> omgevingsvariabele en selecteer in het gedeelte Systeemvariabelen de variabele JAVA_HOME en klik op Bewerken
Vul het formulier in met het volgende:
Variabelenaam: JAVA_HOME
Variabele waarde:

Op Unix:

export JAVA_HOME=<ABSOLUTE_PATH_TO_JDK>

zie deze link


Antwoord 17

  1. Verwijder oudere Java (JDK/JRE) van het systeem (bewaar één (laatste) java-versie), verwijder ook eventuele oude java jre/jdk-vermeldingen in omgevingsvariabelen PATH/CLASSPATH
  2. Eclipse->Window->Preferences->JRE’s geïnstalleerd->JDK toevoegen/bewerken vanaf de laatste installatie
  3. Eclipse->Window->Preferences->Installed JREs->Execution Environment->Selecteer links de gewenste Java-versie en klik op het selectievakje rechts
  4. Als je maven gebruikt, neem dan de volgende tag op in pom.xml (update versies indien nodig) in de plugins-tag.

    <plugin>  
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.1</version>
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
            </configuration>
        </plugin>
    
  5. Klik met de rechtermuisknop op eclipsproject Maven – > Project bijwerken

Antwoord 18

Bij mij (in Windows 10) kreeg ik de foutmelding “Er is geen compiler aanwezig in deze omgeving” bij de Windows-opdrachtprompt toen ik mvn install uitvoerde. De oplossing was het wijzigen van de omgevingsvariabele JAVA_HOME om te verwijzen naar mijn jdk (C:\Program Files\Java\jdk1.8.0_101); eerder had het naar de jre gewezen.

En om Eclipse de nieuwe jdk te laten gebruiken, heb ik eclipse.ini in mijn eclipse-distributie bewerkt en de regel voor -vm gewijzigd in C:\Program Files\Java\jdk1.8.0_101\bin.


Antwoord 19

controleer de java-versie in pom.xml en de jre-versie in Eclipse->Window->Preferences->Geïnstalleerde JRE’s. In mijn geval heeft pom.xml een andere versie (het had 1.8 terwijl eclipse 1.7 gebruikte). Het herstellen van de versie in pom.xml naar 1.7 werkte.


Antwoord 20

als u buiten eclipse werkt in het opdrachtvenster
zorg ervoor dat je de juiste JAVA_HOME hebt en dat die map de compiler bevat door de volgende opdracht in het opdrachtvenster in te voeren:

dir %JAVA_HOME%\bin\javac.*

Antwoord 21

1.Ga naar Windows–>Voorkeuren–>Java–>Geïnstalleerde JRE’s–>Uitvoeringsomgevingen

2.selecteer de Java-versie die u momenteel gebruikt in het vak “Uitvoeringsomgevingen”.
Zodat u in het vak “Compatibele JRE’s” kunt zien als “jre1.8.0_102[perfect match]” (als uw Java-versie 1.8 is). Probeer dan te bouwen met maven.


Antwoord 22

Maven vereist JDK om te compileren. In Eclipse moet u uw JRE WIJZIGEN/VERVANGEN naar het JDK-pad waarnaar uw JAVA_HOME verwijst. Navigeer naar Venster > Voorkeuren > Java > Geïnstalleerde JRE’s.

Zorg ervoor dat de maven-compiler-plug-in in je pom.xml de bron en het doel van de java-versie in je JAVA_HOME heeft

http://learn- automation.com/maven-no-compiler-is-provided-in-this-environment-selenium/


Antwoord 23

Zorg ervoor dat je %JAVA_HOME% hebt ingesteld door echo %JAVA_HOME% in de opdrachtprompt te typen. Als je die set niet hebt, moet je je Java-pad toevoegen aan de omgevingsvariabelen van Windows.


Antwoord 24

Ik heb dit probleem opgelost door JAVA_HOME in mijn omgevingsvariabelen op te geven en intellij opnieuw te starten


Antwoord 25

Ik had een probleem met Eclipse Neon waarbij de standaard van de werkruimte niet echt veranderde, ook al heb ik de juiste locatie toegevoegd onder Voorkeuren->Java->Geïnstalleerde JRE’s. Dit was in een nieuwe werkruimte die ik heb gemaakt om aan een codetak te werken; het was oorspronkelijk ingesteld op de JRE-locatie in plaats van op de JDK. Maar zelfs nadat ik de voorkeuren had gewijzigd, kon ik bouwen met de opdrachtregel, maar het bouwen in Eclipse leverde de geen compilerfout op. Zie a.u.b.

Compilatiefout Maven-pakket

voor mijn antwoord waarop Eclipse-configuratiebestand(en) handmatig moesten worden bewerkt om Eclipse de juiste werkruimte-standaard te laten herkennen. Ik heb nog steeds geen idee waarom de instelling voor voorkeuren niet is doorgevoerd in de configuratie van de nieuwe werkruimte.

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Other episodes