Errore "L'obiettivo che hai specificato richiede un progetto per essere eseguito ma non c'è POM in questa directory" dopo aver eseguito il comando Maven


113

Ho un pom.xmlin C:\Users\AArmijos\Desktop\Factura Electronica\MIyT\componentes-1.0.4\sources\pom.xmle ho eseguito:

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

tuttavia ha restituito l'errore seguente:

[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]

Qualcuno può spiegare perché fallisce?


Hai controllato qui? maven.apache.org/plugins/maven-install-plugin/usage.html il tuo modello sembra non essere valido. Vedo che il file .jar arriva al primo argomento.
Deividi Cavarzan

si, questo comando viene eseguito correttamente su un altro pc ma non posso sul mio pc, ho installato l'ultima versione di jdk e maven
Adrian

Ok ora vedo meglio l'errore. Hai un pom.xml in questa cartella che chiami mvn install-install-file? Se sì, puoi aggiornare la tua domanda?
Deividi Cavarzan

Sì, ho un pom.xml
Adrian

Puoi inserire la tua domanda per favore?
Deividi Cavarzan

Risposte:


192

Questo collegamento ha aiutato: https://stackoverflow.com/a/11199865/1307104

Modifico il mio comando aggiungendo virgolette per ogni parametro in questo modo:

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"

Ha funzionato.


1
Da quando ho bisogno di preventivi? Sono così perplesso in questo momento e sollevato di trovare finalmente una risposta a un messaggio di errore così spazzatura ...
BAERUS

Ho riscontrato un problema simile durante l'esecuzione deploy:deploy-file, ma il mio problema era che ho appena perso il trattino (" -") davanti a una delle opzioni.
RAM237

Grazie. Mi sento come nel 1999 e siamo nel 2018: /
Nordes

Se sei in PowerShell, puoi vedere visivamente come PowerShell separa gli argomenti con i colori sulla riga di comando o inserendo "echo" davanti al comando. Come "echo mvn install: install-file ...".
turiyag

Nella versione precedente di Maven, non fornivo mai le virgolette doppie. Ma ora non funziona senza di essa. questo ha risolto il mio problema.
Pankaj

39

Per chiunque lo stia riscontrando su Windows e nessuno dei precedenti ha funzionato, prova a eseguirlo da cmd.exe. L'esecuzione di questi comandi tramite PowerShell causava il fallimento dell'installazione ogni volta.


1
Stesso problema, Powershell e la gestione degli argomenti CMD funzionano in modo diverso e sembrano confondere MVN
ansioso analista

Stava seguendo la guida introduttiva di Maven e stava cercando di eseguire "mvn -B archetype: generate ....." su Windows PowerShell e riceveva un errore simile. Il passaggio a un client della riga di comando diverso (mintty git bash) ha risolto il problema.
AbstractVoid

27

Su Windows per quanto mi riguarda devi racchiudere tutti i parametri tra virgolette.

Quindi, se vuoi creare un archetipo di webapp esperto, dovresti fare come segue:

Prerequisiti:

  1. Assicurati di aver installato Maven e di averlo nella variabile d'ambiente PATH.

Come:

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

inserisci qui la descrizione dell'immagine

Nota: questo è testato solo su Windows 10 PowerShell


Verificato su Mac OS X. Inoltre, per dprowizard java-simplepuoi usare il seguente comando: mvn archetype:generate "-DarchetypeGroupId=io.dropwizard.archetypes" "-DarchetypeArtifactId=java-simple"con modalità interattiva o con parametri extra.
Andrey Lebedenko

9

Aggiunta di un'altra risposta per gli utenti Windows. Se niente di tutto questo risolve i problemi.

Non aggiungere spaceprima o dopo=

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

È meglio mettere tutto tra virgolette doppie, come "-DgroupId = com .." Questo ti darà un errore esatto piuttosto che un errore casuale.

Strano, a Maven non interessa nemmeno menzionarlo nella documentazione.


1
la tua soluzione ha funzionato, ho messo tutta la sezione -D dentro "" ... è davvero incredibile che un prodotto così mal progettato e mal codificato come Maven sia riuscito a diventare così popolare ...
Pierluigi Vernetto


1

Cambiando mvn cleanper mvn clean --file *.pomrisolvere questo problema per me.


1

Su Windows, ho ricevuto questo errore durante l'esecuzione con un prompt dei comandi non amministratore. Quando l'ho eseguito come amministratore, l'errore è andato via.


1

1.crea una cartella lib nel file di progetto,

2.copia i tuoi jarFiles nella cartella lib

3.Fai clic con il pulsante destro del mouse sul tuo jarFile vai al percorso build> Aggiungi al percorso build (ora il tuo file jar fa parte delle tue librerie aggiornate)

4. aprire il prompt dei comandi, accedere alla directory del progetto e scrivere

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

6.Ricostruisci l'indice del tuo repository locale aprendolo in eclipse - vai a window> show view> other> maven> maven Repositories. Fare clic con il pulsante destro del mouse su Repositores locali e premere "RebuildIndex"

5.apri il tuo file pom.xml e aggiungi la tua dipendenza

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

e corri

mvn clean
mvn compile 
mvn test 

Mi chiedevo come sarebbe fallito un semplice comando esperto ... Ho trovato la tua soluzione e voilà! Ha funzionato! Nessuno scriveva i parametri java all'interno di ", che era quello che mi mancava. Grazie mille :)
russellhoff

0

Ho ricevuto questo errore all'improvviso in Netbeans (ma ha funzionato dalla riga di comando) e si è scoperto che qualche altro programma aveva cambiato la directory predefinita del prompt dei comandi. E poiché Netbeans esegue "cmd / c" quando si richiama Maven, inizia in una directory errata.

Controlla in Regedit il valore per

HKEY_CURRENT_USER\Software\Microsoft\Command Processor\Autorun  

Se è stato impostato, probabilmente dovresti rimuoverlo per risolvere il problema. (1)

(Sono arrivato qui durante il tentativo di risolvere questo problema, potrebbe non essere applicabile al 100% alla domanda attuale, ma potrebbe aiutare gli altri)

(1) Modifica della directory di avvio predefinita per il prompt dei comandi in Windows 7


0
  • L'esecuzione del comando maven richiedeva il file pom.xml che contiene informazioni sul progetto e dettagli di configurazione utilizzati da Maven per costruire il progetto. Contiene valori predefiniti per la maggior parte dei progetti.

  • Assicurati che porject contenga pom.xml a livello di root.


0

Aggiungi il file Jenkins in cui è presente il file pom.xml. Fornisci il percorso della directory su 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

Verificare il nome del file, ad esempio il file pom.xml è stato digitato correttamente con la corretta estensione .xml .

Esempio di questo errore sono

pom.ml pm.xl


0

Potrebbe esserci un problema con la configurazione del percorso Maven, se si utilizza un sistema operatore unix.

passaggio 1: crea un nuovo file in path ~/.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

Passo 2: Eseguire coperture source ~/.bash_profile o modificare file di configurazione zsh (aggiungere nuova linea: source ~/.bash_profile)


-1

"L'obiettivo che hai specificato richiede l'esecuzione di un progetto": la risposta è nella tua domanda. Ho affrontato lo stesso problema. Esegui il "comando mvn" nella cartella del progetto , assicurati anche che sia un progetto configurato da esperti e quindi contenga il file "POM.xml" e dovresti essere a posto!


2
Questo comando serve per installare il jar di terze parti locale. Non abbiamo il codice sorgente del progetto con noi
madhairsilence

-2

Si prega di eseguirlo dalla directory in cui risiede POM.XML.


9
Downvoted perché l' install:install-fileobiettivo non deve essere (non può?) Essere eseguito su un progetto. Viene utilizzato per l'installazione manuale di un artefatto in un repository.
Zoltán

Sto cercando di caricare un file zip che non ha Pom xml. downvoted
kazanaki
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.