Maven error: peut-être utilisez-vous un JRE plutôt qu'un JDK?

Je n'ai jamais travaillé avec Maven avant et je suis les instructions ici. quand j'exécute la commande

mvn integration-test -Pamp-to-war

Il a d'abord téléchargé tout un tas de dépendances, et à la fin il a montré,

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

je suis sur ubuntu 13.04.

Si vous voulez que je vous dise, faites le moi savoir. Grâce.

EDIT

Quand je fais echo $JAVA_HOME je reçois /usr/lib/jvm/java-7-openjdk-i386/

Quand je fais mvn -version

je me,

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"

Aussi, j'ai découvert ce problème rencontré par quelqu'un d'autre . Mais je ne suis pas sûr de savoir comment appliquer la solution qui est spécifiée?

autres modifications.

kraken@kraken-Inspiron-1545:/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
43
demandé sur Community 2014-10-11 14:59:15

13 réponses

j'ai été confronté au même problème avec java 8 (ubuntu 16.04), en essayant de compiler en utilisant la ligne de commande mvn .

j'ai vérifié mes $JAVA_HOME , java -version et mvn -version . Tout semble aller bien en pointant /usr/lib/jvm/java-8-openjdk-amd64 .

il apparaît que java-8-openjdk-amd64 n'est pas complètement installé par défaut et ne contient que le JRE (malgré son nom"jdk").

Re-installer le JDK a fait le tour.

sudo apt-get install openjdk-8-jdk

puis de nouveaux fichiers et de nouveaux dossiers sont ajoutés à /usr/lib/jvm/java-8-openjdk-amd64 et mvn est capable de compiler à nouveau.

94
répondu ced 2016-11-16 20:59:46

apparemment, il faut des outils.fichier jar dans le dossier lib de mon $JAVA_HOME. Je n'avais pas le dossier lib, donc j'ai réinstallé mon jdk en utilisant la commande

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

Aussi, ce lien peut aider certaines personnes.

39
répondu Kraken 2014-10-11 19:14:39

pour moi, ça a marché comme suit. Veuillez regarder la variable D'environnement JAVA_HOME, qu'elle pointe vers JRE ou JDK.? S'il pointait du doigt JRE, vous vous retrouveriez face à "peut-être que vous courez sur un JRE plutôt que sur un JDK". si c'est le cas, changez le chemin vers JDK.

modifier comme ça, ça a marché pour moi.

JAVA_HOME C:\Program fichiers\Java\jdk1.8.151910920"

6
répondu sks 2017-02-21 07:00:28

ajouter cette configuration dans 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>
3
répondu AnuradhaS 2017-05-20 08:13:51

C'est comment j'ai résolu mon problème

clic droit sur le Projet > Propriétés > compilateur Java (sélectionnez celui que vous utilisez)

il était de 1,5 pour moi, mais j'ai de 1,8 installé. alors je l'ai changé à 1.8.. et voilla ça a marché!.

2
répondu Mack 2015-07-16 12:41:14

c'est à cause de l'exécution de jre plutôt que de jdk, pour installer JDK suivre en dessous des marches

installation de java 8 dans amazon linux / 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 et appuyez sur 1

-- > update-alternatives --config javac #pick java 1.8 et presse 2

Merci

2
répondu sachin_ur 2018-08-03 09:14:10

vérifier si/usr / bin a 'javac'. Sinon, vous avez installé JRE et vous devez installer JDK dev version comme " java-1.8.0-openjdk-devel.x86_64 "

1
répondu Raja Rajan 2017-08-17 21:07:11

ajoute juste plus de détails sur où se configurer. La principale raison serait que la configuration JAVA_HOME dans la variable d'environnement devrait pointer vers la position correcte de JDK.

    "151940920 Le" Système De Contrôle -> L'Avance Les Paramètres Système
  1. cliquez sur la variable D'environnement
  2. ajouter la variable JAVA_HOME - > "C:\Program fichiers\Java\jdk1.8.0_141; "
  3. éditer "chemin" - > ajouter %JAVA_HOME%; à l'existant texte.
1
répondu Barani r 2017-11-20 10:13:07

faites un clic droit sur votre dossier projet (Maven one), sélectionnez Propriétés et dans la fenêtre Propriétés, sélectionnez de nouveau le compilateur Java et voyez ce qui est sélectionné en fonction du niveau de conformité du compilateur et assurez-vous qu'il s'agit de la même version que votre jre. Dans mon cas, j'avais 1,8 mais 1,5 a été sélectionné en fonction du niveau de conformité du compilateur. Après avoir sélectionné 1.8 la construction a été réussie sans cette erreur.

0
répondu Qaddaffi 2017-04-27 20:01:43

j'ai eu la même erreur et je manquais la variable utilisateur: JAVA_HOME et la valeur pour le SDK - "C:\Program Files\Java\jdk-9.0.1" in my case

0
répondu user1913615 2017-10-29 09:28:29

j'ai eu le même problème après avoir installé le paquet java-1.8.0-openjdk sur un ami Linux AWS. L'hypothèse incorrecte que j'ai faite, était que parce que le fichier se terminait en openjdk il serait la version jdk. Ce n'est pas le cas.

le "15197092020" openjdk page d'installation explique tout clairement.

le paquet java-1.8.0-openjdk ne contient que L'exécution Java Environnement. Si vous voulez développer des programmes Java puis installer le java-version 1.8.0-openjdk-devel paquet.

si vous avez déjà installé le paquet java-1.8.0-openjdk, laissez-le et la valeur JAVA_HOME s'il fonctionne pour le JRE et installez le paquet java-1.8.0-openjdk-devel en utilisant yum install java-1.8.0-openjdk-devel -y .

0
répondu Paul.M 2018-01-05 05:25:06

j'ai affronté le problème même si JAVA_HOME pointait vers JDK. Il a fallu du temps pour comprendre pourquoi il rejetait l'exception.

le problème était que J'ai placé JAVA_HOME comme utilisateur administrateur sur ma machine de fenêtre. Vous devez ajouter la variable D'environnement JAVA_HOME pointant vers le JDK droit à votre paramètres variables d'environnement de profil d'utilisateur .

0
répondu Arnav Rao 2018-07-05 05:02:06

pour résoudre mon problème sur Linux n'ont pas un JDK, je viens de télécharger le JDK et de télécharger sur le serveur Linux, et de taper: tar xvf jdk-8u45-linux-x64.tar.gz

0
répondu Hailin Tan 2018-09-03 03:28:18