Erreur "L'objectif que vous avez spécifié nécessite l'exécution d'un projet mais il n'y a pas de POM dans ce répertoire" après l'exécution de la commande maven


113

J'ai un pom.xmlin C:\Users\AArmijos\Desktop\Factura Electronica\MIyT\componentes-1.0.4\sources\pom.xmlet j'ai exécuté:

mvn install:install-file -DgroupId=es.mityc.jumbo.adsi -DartifactId=xmlsec-1.4.2-ADSI -Dversion=1.0 -Dpackaging=jar -Dfile=C:\Users\AArmijos\Desktop\Factura Electronica\MIyT\componentes-1.0.4\core\xmlsec-1.4.2-ADSI-1.0.jar

cependant, il a renvoyé l'erreur ci-dessous:

[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.310s
[INFO] Finished at: Thu May 02 16:48:29 COT 2013
[INFO] Final Memory: 2M/15M
[INFO] ------------------------------------------------------------------------
[ERROR] The goal you specified requires a project to execute but there is no POM
 in this directory (C:\Users\AArmijos). Please verify you invoked Maven from the
 correct directory. -> [Help 1]

Quelqu'un peut-il expliquer pourquoi il échoue?


Avez-vous vérifié ici? maven.apache.org/plugins/maven-install-plugin/usage.html votre modèle semble être invalide. Je vois ce fichier .jar venir au premier argument.
Deividi Cavarzan

oui, cette commande s'exécute correctement sur un autre pc mais je ne peux pas sur mon pc, j'ai installé la dernière version de jdk et maven
Adrian

Ok maintenant je vois mieux l'erreur. Avez-vous un pom.xml dans ce dossier que vous appelez mvn install-install-file? Si c'est le cas, pouvez-vous mettre à jour votre question?
Deividi Cavarzan

Oui, j'ai un pom.xml
Adrian

Pouvez-vous poster votre question s'il vous plaît?
Deividi Cavarzan

Réponses:


192

Ce lien a aidé: https://stackoverflow.com/a/11199865/1307104

J'édite ma commande en ajoutant des guillemets pour chaque paramètre comme ceci:

mvn install:install-file "-DgroupId=org.mozilla" "-DartifactId=jss" "-Dversion=4.2.5" "-Dpackaging=jar" "-Dfile=C:\Users\AArmijos\workspace\componentes-1.0.4\deps\jss-4.2.5.jar"

Ça a marché.


1
Depuis quand ai-je besoin de devis? Je suis tellement perplexe en ce moment et soulagé de trouver enfin une réponse à un tel message d'erreur ...
BAERUS

J'ai rencontré un problème similaire en le faisant deploy:deploy-file, mais mon problème était que je viens de manquer le tiret (" -") devant l'une des options.
RAM237

Je vous remercie. Je me sens comme en 1999 et nous sommes en 2018: /
Nordes

Si vous êtes dans PowerShell, vous pouvez voir visuellement comment PowerShell sépare les arguments avec les couleurs sur la ligne de commande, ou en mettant «echo» devant la commande. Comme, "echo mvn install: install-file ...".
turiyag

Dans la version précédente de maven, je n'avais jamais l'habitude de fournir les guillemets doubles. Mais, maintenant, cela ne fonctionne pas sans cela. cela a résolu mon problème.
Pankaj

39

Pour tous ceux qui rencontrent ce problème sous Windows et qu'aucun des éléments ci-dessus n'a fonctionné, essayez de l'exécuter à partir de cmd.exe. L'exécution de ces commandes via PowerShell provoquait l'échec de l'installation à chaque fois.


1
Même problème, la gestion des arguments Powershell et CMD fonctionnent différemment et semblent dérouter MVN
eageranalyst

Suivait le guide de mise en route de Maven et essayait d'exécuter «mvn -B archetype: generate .....» sur Windows PowerShell et obtenait une erreur similaire. Le passage à un client de ligne de commande différent (mintty git bash) a résolu le problème.
AbstractVoid

27

Sur Windows en ce qui me concerne, vous devez mettre tous les paramètres entre guillemets.

Donc, si vous souhaitez créer un archétype maven webapp, procédez comme suit:

Conditions préalables:

  1. Assurez-vous que maven est installé et que vous l'avez dans votre variable d'environnement PATH.

Comment:

  1. Ouvrez Windows PowerShell
  2. mkdir MyWebApp
  3. cd MyWebApp
  4. archétype mvn: generate "-DgroupId = com.javan.dev" "-DartifactId = MyWebApp" "-DarchetypeArtifactId = maven-archetype-webapp" "-DinteractiveMode = false"

entrez la description de l'image ici

Remarque: ceci est testé uniquement sur Windows 10 PowerShell


Vérifié sur Mac OS X. De plus, pour dprowizard, java-simplevous pouvez utiliser la commande suivante: mvn archetype:generate "-DarchetypeGroupId=io.dropwizard.archetypes" "-DarchetypeArtifactId=java-simple"avec le mode interactif ou avec des paramètres supplémentaires.
Andrey Lebedenko

9

Ajout d'une autre réponse pour les utilisateurs Windows. Si rien de tout cela ne résout les problèmes.

Ne pas ajouter spaceavant ou après=

-DgroupId= com.company.module //Wrong , Watch the space after the equal to 
-DgroupId=com.company.module //Right 

Il est préférable de tout mettre entre guillemets doubles, comme "-DgroupId = com .." Cela vous donnera une erreur exacte plutôt qu'une erreur aléatoire.

Bizarre, maven ne se soucie même pas de mentionner cela dans la documentation.


1
votre solution a fonctionné, j'ai mis toute la section -D dans "" ... c'est vraiment incroyable que ce produit si mal conçu et mal codé comme Maven ait réussi à devenir si populaire ...
Pierluigi Vernetto



1

Sous Windows, j'ai eu cette erreur lors de l'exécution sous une invite de commande non administrateur. Lorsque j'ai exécuté cela en tant qu'administrateur, l'erreur a disparu.


1

1. créez un dossier lib dans votre fichier projet,

2. copiez vos jarFiles dans le dossier lib

3. cliquez avec le bouton droit sur votre fichier jar, accédez au chemin de construction> Ajouter au chemin de construction (maintenant votre fichier jar fait partie de vos bibliothèques référencées)

4. ouvrez l'invite de commande et accédez au répertoire de votre projet et écrivez

mvn install: install-file "-Dfile=<yourJarFileName>.jar" "-DgroupId=<yourGroupID>" "-DartifactId=<yourArtifactId>" "-Dversion=<yourVersion>" "-Dpackaging=jar" 

6.Reconstruisez votre index de référentiel local en l'ouvrant dans eclipse - allez dans window> show view> other> maven> maven Repositories. Faites un clic droit sur les déposants locaux et appuyez sur "RebuildIndex"

5. ouvrez votre fichier pom.xml et ajoutez votre dépendance

    <dependency>
        <groupId><yourGroupID></groupId>
        <artifactId><yourArtifactId></artifactId>
        <version><yourVersion></version>
    </dependency>

et courir

mvn clean
mvn compile 
mvn test 

Je me demandais comment une simple commande maven échouerait ... J'ai trouvé votre solution et le tour est joué! Ça a marché! Personne n'écrivait les paramètres java dans le ", ce qui me manquait. Merci beaucoup :)
russellhoff

0

J'ai eu cette erreur soudainement dans Netbeans (mais cela fonctionnait à partir de la ligne de commande) et il s'avère qu'un autre programme avait changé le répertoire par défaut de l'invite de commande. Et comme Netbeans exécute "cmd / c" lors de l'appel de maven, il démarre dans un répertoire incorrect.

Vérifiez dans Regedit la valeur de

HKEY_CURRENT_USER\Software\Microsoft\Command Processor\Autorun  

S'il a été défini, vous devriez probablement le supprimer pour résoudre le problème. (1)

(J'ai atterri ici en essayant de résoudre ce problème, peut ne pas être applicable à 100% à la question actuelle - mais pourrait aider les autres)

(1) Modification du répertoire de démarrage par défaut pour l'invite de commande dans Windows 7


0
  • L'exécution de la commande maven nécessitait un fichier pom.xml contenant des informations sur le projet et les détails de configuration utilisés par Maven pour construire le projet. Il contient des valeurs par défaut pour la plupart des projets.

  • Assurez-vous que porject doit contenir pom.xml au niveau racine.


0

Ajoutez le Jenkinsfile où le fichier pom.xml est présent. Fournissez le chemin du répertoire sur dir ('project-dir'),

Ex:

node {

    withMaven(maven:'maven') {

        stage('Checkout') {
            git url: 'http://xxxxxxx/gitlab/root/XXX.git', credentialsId: 'xxxxx', branch: 'xxx'
        }

        stage('Build') {

            **dir('project-dir') {**
                sh 'mvn clean install'

                def pom = readMavenPom file:'pom.xml'

                print pom.version
                env.version = pom.version
            }
        }
    }
}

0

Vérifiez le nom du fichier, c'est-à-dire que le fichier pom.xml est correctement orthographié avec l'extension de fichier appropriée .xml .

Un exemple de cette erreur est

pom.ml pm.xl


0

Il peut y avoir un problème avec la configuration du chemin Maven, si vous avez utilisé un système opérateur de type Unix.

étape 1: créer un nouveau fichier dans le chemin ~/.bash_profile

JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_151.jdk/Contents/Home
CLASSPAHT=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
PATH=$JAVA_HOME/bin:$PATH:
export JAVA_HOME
export CLASSPATH
export PATH

Etape 2: Lancer coque source ~/.bash_profile ou de modifier le fichier de configuration zsh (ajouter une nouvelle ligne: source ~/.bash_profile)


-1

"L'objectif que vous avez spécifié nécessite l'exécution d'un projet": La réponse est dans votre question. J'ai fait face au même problème. Exécutez la "commande mvn" dans le dossier du projet , assurez-vous également que c'est un projet configuré par maven et contient donc le fichier "POM.xml" et vous devriez être prêt à partir!


2
Cette commande consiste à installer le fichier jar tiers local. Nous n'avons pas le code source du projet avec nous
madhairsilence

-2

Veuillez l'exécuter à partir du répertoire où réside POM.XML.


9
Évalué parce que l' install:install-fileobjectif n'a pas besoin d'être (ne peut pas?) Être exécuté sur un projet. Il est utilisé pour installer manuellement un artefact dans un référentiel.
Zoltán

J'essaye de télécharger un fichier zip qui n'a pas de Pom xml. contre
vote
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.