J'ai essayé d'installer Maven sur Windows 7 avec des résultats médiocres. Quelques informations de base:
Répertoire d'installation Maven: C:\Program Files\Apache Software Foundation\Apache-maven-3.0.4
Variable système "M2_HOME
": C:\Program Files\Apache Software Foundation\Apache-maven-3.0.4\
Variable système "Path
": %M2_HOME%Apache-maven\src\bin;%Java_HOME%\bin
Si je lance mvn --version
dans le chemin de commande, je reçois le message d'erreur suivant:
Définissez la variable
M2_HOME
dans votre environnement pour qu'elle corresponde à l'emplacement de l'installation Maven.
Donc, pour le moment, le sous-répertoire pour mvn
n'est pas défini en fonction des instructions, ce qui serait %M2_HOME%\bin
. Si je remplace %M2_HOME%Apache-maven\src\bin
par celui-là, je reçois:
mvn n'est pas reconnu comme une commande interne ou externe, un programme utilisable ou un fichier batch
Dans le répertoire d'installation de Maven (ou dans le fichier Zip), il n'y a pas de dossier \bin
directement dans Apache-maven-3.0.4
et je me demande s'il devrait en exister un?
Je suis un novice chez Maven, j'espère que vous pourrez aider.
En passant, la commande Java fonctionne depuis n’importe quel répertoire, donc je ne pense pas que ce soit le problème ici, mais je ne peux pas en être sûr.
Si votre paquet téléchargé Apache-maven-3.3.9 ne contient pas de dossier bin, le téléchargement est incorrect. vous devez télécharger un fichier Zip contenant bin, boot, conf, dossier lib, sinon quelque chose ne va pas. Le fichier téléchargé devrait avoir une taille d’environ 4,8 Mo. Vous pouvez vérifier le fichier via md5 ou SHA1 checksums.
Dans M2_HOME
- définir C:\Apache-maven-3.0.4
c'est-à-dire chemin sans bin
. Dans PATH
- définir %M2_HOME%\bin
c'est-à-dire avec bin
dans chemin.
Dans 3.3.1, les fichiers * .bat ont disparu et il ne reste que les fichiers * .cmd. Les .CMD sont les mêmes que .BAT et certains logiciels les attendent. J'ai renommé .CMDs en .BAT afin de le faire fonctionner sous Netbeans. Cela a provoqué "Maven M2_HOME défini dans un répertoire non valide". Copier les .BAT dans les .CMD (c’est-à-dire que les deux étaient dans le dossier) a résolu le problème.
Dans mon cas, la configuration était correcte:
Variables système Windows:
Variables utilisateur Windows:
Mais j’ai eu le même problème lorsqu’il y avait deux installation de maven même si toutes les références pointaient vers la dernière version qui était dans mon cas la 3.3.9. Aprèssupprimer l'ancienversion, la même commande était reconnue par maven.
AVANT:
maven -v
ERROR: M2_HOME is set to an invalid directory.
M2_HOME = "C:\dev\software\Apache-maven-3.3.9"
Please set the M2_HOME variable in your environment to match the
location of the Maven installation
APRÈS:
maven -v
Apache Maven 3.3.9
Maven home: C:\dev\software\Apache-maven-3.3.9
Java version: 1.7.0_51, vendor: Oracle Corporation
Java home: C:\Program Files\Java\jdk1.7.0_51\jre
Vous devez télécharger le fichier Maven portant le nom "Binary Zip". Par exemple: http://mirrors.digipower.vn/Apache/maven/maven-3/3.1.1/binaries/Apache-maven-3.1.1-bin.Zip
J'ai le même problème sur mon ordinateur et je l'ai résolu:
C:\maven
C:\maven
dans M2_HOME
, %M2_HOME%\lib
dans M2
et %M2%
ajouté dans PATH
Et il fonctionne !
Débarrassez-vous de la variable env M2_HOME. Il n'est pas utilisé par maven 3 et le confond en fait. Si vous l'aviez utilisé dans votre chemin, définissez le chemin de manière explicite vers maven bin ou remplacez-le par autre chose, comme M3_HOME.
Pour moi, la variable PATH avait l'ancienne version de maven. Alors je l'ai mis à jour. Je devrais utiliser% M2_HOME% mais j'avais précisé le chemin.
Je viens tout juste de faire face au même problème… .. Dans mon cas, le problème était que PATH
n'était pas configuré correctement pour inclure %M2_HOME%\bin
. Une fois défini correctement, le problème a été résolu.
Lorsque vous rencontrez de tels problèmes, veuillez imprimer la valeur de PATH
sur la ligne de commande pour vous assurer que les valeurs sont correctement prises en compte.
Ajouter l’emplacement entier de la bin à la variable d’environnement "PATH" Ex: C:\Program Files\Apache Software Foundation\Apache-maven-3.0.4\bin
Pas besoin de M2_HOME, M2.It a travaillé pour moi
Microsoft Windows [Version 10.0.14393] (C) 2016 Microsoft Corporation. Tous les droits sont réservés.
C:\Utilisateurs\XXXX> mvn -version Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-10T22: 11: 47 + 05: 30) Accueil Maven: Logiciel C:\Program Files\Apache Foundation\Apache-maven-3.3.9\bin .. Version Java: 1.8.0_91, fournisseur: Page d'accueil Oracle Corporation Java: C:\Programmes\Java\jdk1.8.0_91\jre Paramètres régionaux par défaut: en_US, codage de la plateforme: Cp1252 Nom du système d'exploitation: "windows 10", version: "10.0", Arch: "AMD64", famille: "dos"
définissez 'M2_HOME' et 'PATH' dans les variables d'environnement de votre compte, supprimez 'PATH' des variables d'environnement système.
Tout le succès après les prochaines étapes.
Sur http://maven.Apache.org/download.cgi page de 4 variantes besoin de télécharger le fichier binaire.
Définir la variable d'environnement (astuce de @JamesB - https://stackoverflow.com/a/13093358/3941340 ):
Java_HOME = C:\Program Files\Java\jdk1.6.0_35
MAVEN_HOME = D:\software\Apache-maven-3.0.4
PATH =% PATH%;% MAVEN_HOME%\bin;% Java_HOME%\bin
Vérifiez les variables système M2_HOME et PATH dans différents emplacements maven.
Avait une ancienne version de MVN dans un autre répertoire qui est apparu dans le chemin de recherche. Supprimé l'ancienne version et tout a fonctionné. Recherche de fichier Windows utilisée pour analyser le lecteur à la recherche de toutes les instances de "mvn" afin de retrouver l'ancienne version.
Réponse rapide
Suite à des problèmes d'utilisation de M2_HOME liés à différentes versions de Maven installées et pour simplifier les choses, l'utilisation de M2_HOME a été supprimée et n'est plus prise en charge. Autre changement important pour les utilisateurs de Windows: l'utilisation de% HOME% a été remplacée par% USERPROFILE%
Réponse plus détaillée
Ce que vous avez observé a toujours été un problème avec Maven. Lorsque vous installez deux versions différentes dans le même répertoire, l'ancienne version est détectée, tandis que la plus récente ne l'est pas.
Après la publication de Maven 3.3.9, le projet Eclipse Aether a été abandonné et la base de code a été migrée vers le projet Apache Maven. L'objectif initial de la version 3.4.0 était de remplacer Aether par le même code après la migration vers le projet Apache Maven, puis de résoudre les problèmes de bogues du code du résolveur et d'autres zones de Maven. Cela n’a jamais eu lieu comme prévu et la décision a été prise de graver à tout jamais la ligne de publication 3.4.x. Le passage à la version 3.5 a entraîné ces changements
Il pourrait y avoir une possibilité d'avoir une autre version de l'installation de maven à l'emplacement parallèle . Dans ce cas, supprimez la plus indésirable et réinitialisez le chemin approprié contre M2_HOME.