it-swarm.com.de

Maven-Fehler: Vielleicht laufen Sie auf einer JRE anstatt auf einem JDK?

Ich habe noch nie mit Maven gearbeitet und folge den Anweisungen hier. Wenn ich den Befehl ausführe

mvn integration-test -Pamp-to-war

Es lud zunächst eine ganze Reihe von Abhängigkeiten herunter und zeigte am Ende: 

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

Ich bin auf ubuntu 13.04.

Wenn es irgendetwas gibt, das ich Ihnen sagen möchte, lassen Sie es mich wissen. Vielen Dank.

EDIT

Wenn ich echo $Java_HOME tue, bekomme ich /usr/lib/jvm/Java-7-openjdk-i386/

Wenn ich mvn -version mache

Ich bekomme, 

Apache Maven 3.0.4
Maven home: /usr/share/maven
Java version: 1.7.0_25, vendor: Oracle Corporation
Java home: /usr/lib/jvm/Java-7-openjdk-i386/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "3.8.0-26-generic", Arch: "i386", family: "unix"

Ich fand auch heraus, dieses Problem, mit dem jemand anderes zu kämpfen hatte . Ich bin mir aber nicht sicher, wie ich mit der angegebenen Lösung umgehen soll?

Weitere Bearbeitungen. 

[email protected]:/usr/lib/jvm/Java-7-openjdk-i386$ ls -l
total 12
drwxr-xr-x 2 root root 4096 Sep  9 10:44 bin
lrwxrwxrwx 1 root root   41 Jul  4  2013 docs -> ../../../share/doc/openjdk-7-jre-    headless
drwxr-xr-x 5 root root 4096 Oct 13  2013 jre
drwxr-xr-x 4 root root 4096 Oct 13  2013 man
48
Kraken

Anscheinend benötigt es die tools.jar-Datei im lib-Ordner von $ Java_HOME. Ich hatte keinen lib-Ordner, also installierte ich mein jdk mit dem Befehl neu 

apt-get install openjdk-7-jdk openjdk-7-doc openjdk-7-jre-lib

Auch dieser Link kann manchen Leuten helfen.

41
Kraken

Ich habe das gleiche Problem mit Java 8 (ubuntu 16.04) gehabt und versucht, es mit der mvn-Befehlszeile zu kompilieren.

Ich habe meinen $Java_HOME, Java -version und mvn -version überprüft. Alles scheint in Ordnung zu sein und zeigt auf /usr/lib/jvm/Java-8-openjdk-AMD64.

Es scheint, dass Java-8-openjdk-AMD64 standardmäßig nicht vollständig installiert ist und nur die JRE enthält (trotz des Namens "jdk").

Die Neuinstallation des JDK hat den Trick geleistet.

Sudo apt-get install openjdk-8-jdk

Dann werden einige neue Dateien und neue Ordner zu /usr/lib/jvm/Java-8-openjdk-AMD64 hinzugefügt und mvn kann erneut kompilieren.

105
ced

Dies ist darauf zurückzuführen, dass jre statt jdk ausgeführt wird. Um jdk zu installieren, folgen Sie unter den Schritten

Java 8 in Amazon linux installieren/redhat

-> yum search Java | grep openjdk

-> yum install Java-1.8.0-openjdk-headless.x86_64

-> yum install Java-1.8.0-openjdk-devel.x86_64

-> update-alternatives --config Java #pick Java 1.8 und drücke 1

-> update-alternatives --config javac #pick Java 1.8 und drücke 2

Danke dir

9
sachin_ur

Für mich funktionierte es wie folgt . Bitte schauen Sie sich die Java_HOME-Umgebungsvariable an, ob sie auf JRE oder JDK verweist. Wenn es auf JRE hinweist, werden Sie sich mit dem Problem "Vielleicht laufen Sie auf einer JRE anstatt auf einem JDK" auseinandersetzen. Ändern Sie in diesem Fall den Pfad zu JDK.

So modifizierend funktionierte es für mich.

Java_HOME C:\Programme\Java\jdk1.8.0_31

6
sks

Fügen Sie diese Konfigurationen in pom.xml hinzu

<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>
4
AnuradhaS

So habe ich mein Problem behoben

klicken Sie mit der rechten Maustaste auf das Projekt> Eigenschaften> Java Compiler (wählen Sie den von Ihnen verwendeten) aus.

es war 1,5 für mich, aber ich habe 1.8 installiert. also habe ich es auf 1.8 geändert und voilla hat funktioniert!.

2
Mack

Problemstellung = In dieser Umgebung ist kein Compiler vorhanden. Vielleicht laufen Sie eher auf einer JRE als auf einem JDK?

Lösung

Bitte setzen Sie die mgebungsvariable wie unten, um das Problem zu lösen

Variablenname: Java_HOME

Variablenwert: C:\Programme\Java\jdk1.8.0_202

Variablenname: M2_HOME

Variablenwert: C:\Programme\Apache-maven-3.6.0

Außerdem , Add Java und maven path in "System Variables" wie folgt:

  1. C:\Programme\Java\jdk1.8.0_202\bin
  2. C:\Programme\Apache-maven-3.6.0\bin
2
Navdeep Ghotra

Fügen Sie einfach weitere Details zum Installationsort hinzu. Der Hauptgrund wäre, dass das Java_HOME-Setup in der Umgebungsvariablen auf den korrekten JDK-Speicherort verweist. 

  1. Überprüfen Sie System -> Erweiterte Systemeinstellungen
  2. Klicken Sie auf Umgebungsvariable 
  3. Fügen Sie die Variable Java_HOME hinzu -> "C:\Programme\Java\jdk1.8.0_141;"
  4. "Pfad" bearbeiten ->% Java_HOME% anhängen; zum vorhandenen Text.
2
Barani r

ich verwende centos und erhalte den gleichen Fehler, wenn ich den Befehl mvn mit dem Ziel install ausführe. Nach einigem googeln habe ich die Lösung gefunden, folgenden Befehl auszuführen.

Sudo yum install Java-1.8.0-openjdk-devel

1

Prüfen Sie, ob/usr/bin über 'javac' verfügt. Wenn nicht, haben Sie JRE installiert und müssen die jdk dev-Version wie "Java-1.8.0-openjdk-devel.x86_64" installieren

1
Raja Rajan

Klicken Sie mit der rechten Maustaste auf Ihren Projektordner (Maven One), wählen Sie Eigenschaften aus, und wählen Sie im Eigenschaftenfenster erneut Java Compiler aus. Prüfen Sie, welche Komponenten für den Compiler-Kompatibilitätsgrad ausgewählt wurden, und stellen Sie sicher, dass es sich um die gleiche Version wie Ihr JRE handelt. In meinem Fall hatte ich 1,8, aber der Compiler-Konformitätsgrad war 1,5. Nach der Auswahl von 1.8 war der Build ohne diesen Fehler erfolgreich.

0
Qaddaffi

Ich hatte das gleiche Problem in Eclipse Maven Projekt, alles was ich getan habe war
Klicken Sie mit der rechten Maustaste auf das Projekt
maven -> pdate project
oder drücken Sie einfach ALT + F5

0
Abhishek D K

Ich war mit dem Problem konfrontiert, obwohl Java_HOME auf JDK zeigte. Es dauerte einige Zeit, um herauszufinden, warum die Ausnahme ausgelöst wurde.

Das Problem bestand darin, dass ich Java_HOME als Administrator auf meiner Fenstermaschine eingestellt habe. Sie müssen die Java_HOME-Umgebungsvariable, die auf das rechte JDK zeigt, zu den Umgebungsvariableneinstellungen Ihres Benutzerprofils hinzufügen.

0
Arnav Rao

Ich hatte den gleichen Fehler und mir fehlte die Benutzervariable: Java_HOME und der Wert für das SDK - "C:\Programme\Java\jdk-9.0.1" in meinem Fall

0
user1913615

Das gleiche Problem hatte ich nach der Installation des Java-1.8.0-openjdk-Pakets auf einem AWS Linux AMI. Die falsche Annahme, die ich gemacht habe, war die, dass die Datei auf openjdk endete, es wäre die jdk-Version. Das ist nicht der Fall. 

Die openjdk-Installationsseite erklärt alles klar. 

Das Java-1.8.0-openjdk-Paket enthält nur die Java-Laufzeitumgebung Umgebung. Wenn Sie Java-Programme entwickeln möchten, installieren Sie die Java-1.8.0-openjdk-devel-Paket.

Wenn Sie das Java-1.8.0-openjdk-Paket bereits installiert haben, belassen Sie es und den Java_HOME-Wert, wenn es für die JRE funktioniert, und installieren Sie das Java-1.8.0-openjdk-devel-Paket mit yum install Java-1.8.0-openjdk-devel -y.

0
Paul.M

Ich hatte das gleiche Problem. Ich musste das JDK vor dem JRE in PATH platzieren, um es aufzulösen.

0
MikeF

Um mein Problem unter Linux zu lösen, habe ich kein JDK. Ich lade einfach das JDK herunter und lade auf den Linux-Server hoch. Geben Sie Folgendes ein: Tar xvf jdk-8u45-linux-x64.tar.gz

0
Hailin Tan