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?

Adrian
la source
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é.

Adrian
la source
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.

Josh Sullivan
la source
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

J.Javan
la source
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.

madhairsilence
la source
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

Changer mvn cleanpour mvn clean --file *.pomrésoudre ce problème pour moi.

Matthias Braun
la source
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.

tcb
la source
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 
CTester
la source
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

AtliB
la source
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.

Nanda Balakrishnan
la source
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
            }
        }
    }
}
Prabu Balasubramanian
la source
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

Gani
la source
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)

daidai21
la source
-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!

Krutika sheth
la source
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.

Sasiraj
la source
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