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.