Error "El objetivo que especificó requiere que se ejecute un proyecto pero no hay POM en este directorio" después de ejecutar el comando maven

113

Tengo una pom.xmlen C:\Users\AArmijos\Desktop\Factura Electronica\MIyT\componentes-1.0.4\sources\pom.xmly ejecuté:

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

sin embargo, devolvió el siguiente error:

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

¿Alguien puede explicar por qué falla?

Adrian
fuente
¿Marcó aquí? maven.apache.org/plugins/maven-install-plugin/usage.html su plantilla parece no ser válida. Veo que el archivo .jar aparece en el primer argumento.
Deividi Cavarzan
sí, este comando se ejecuta correctamente en otra PC pero no puedo en mi PC, instalé la última versión de jdk y maven
Adrian
Ok, ahora veo mejor el error. ¿Tiene un pom.xml en esta carpeta que llama mvn install-install-file? Si es así, ¿puede actualizar su pregunta?
Deividi Cavarzan
Sí, tengo un pom.xml
Adrian
¿Puedes publicar tu pregunta por favor?
Deividi Cavarzan

Respuestas:

192

Este enlace ayudó: https://stackoverflow.com/a/11199865/1307104

Edito mi comando agregando comillas para cada parámetro como este:

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 funcionado.

Adrian
fuente
1
¿Desde cuando necesito cotizaciones? Estoy tan desconcertado en este momento y aliviado de finalmente encontrar una respuesta a un mensaje de error tan basura ...
BAERUS
Enfrenté un problema similar al hacerlo deploy:deploy-file, pero mi problema fue que simplemente me perdí el guión (" -") frente a una de las opciones.
RAM237
Gracias. Me siento como en 1999 y estamos en 2018: /
Nordes
Si está en PowerShell, puede ver visualmente cómo PowerShell separa los argumentos con los colores en la línea de comando, o colocando "echo" delante del comando. Como, "echo mvn install: install-file ...".
Turiyag
En una versión anterior de maven, nunca solía proporcionar las comillas dobles. Pero ahora no funciona sin él. esto resolvió mi problema.
Pankaj
39

Para cualquiera de aquellos que estén experimentando esto en Windows y ninguno de los anteriores funcionó, intente ejecutar esto desde cmd.exe. La ejecución de estos comandos a través de PowerShell provocó que la instalación fallara cada vez.

Josh Sullivan
fuente
1
El mismo problema, el manejo de argumentos de Powershell y CMD funciona de manera diferente y parece confundir a
MVN
Estaba siguiendo la guía de introducción de Maven e intentando ejecutar "mvn -B archetype: generate ....." en Windows PowerShell y recibía un error similar. Cambiar a un cliente de línea de comandos diferente (mintty git bash) resolvió el problema.
AbstractVoid
27

En Windows, en lo que a mí respecta, debe encerrar todos los parámetros entre comillas.

Entonces, si desea crear un arquetipo de aplicación web maven, debe hacer lo siguiente:

Prerrequisitos:

  1. Asegúrese de tener maven instalado y tenerlo en su variable de entorno PATH.

Cómo:

  1. Abrir windows powershell
  2. mkdir MyWebApp
  3. cd MyWebApp
  4. mvn arquetipo: generate "-DgroupId = com.javan.dev" "-DartifactId = MyWebApp" "-DarchetypeArtifactId = maven-archetype-webapp" "-DinteractiveMode = false"

ingrese la descripción de la imagen aquí

Nota: Esto se prueba solo en Windows 10 powershell

J.Javan
fuente
Verificado en Mac OS X. Además, para dprowizard java-simplepuede usar el siguiente comando: mvn archetype:generate "-DarchetypeGroupId=io.dropwizard.archetypes" "-DarchetypeArtifactId=java-simple"con modo interactivo o con parámetros adicionales.
Andrey Lebedenko
9

Añadiendo una respuesta más para usuarios de Windows. Si nada de esto resuelve los problemas.

No agregue spaceantes ni después=

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

Es mejor poner todo entre comillas dobles, como "-DgroupId = com .." Esto le dará un error exacto en lugar de un error aleatorio.

Es extraño que a maven ni siquiera le importe mencionar esto en la documentación.

silencio
fuente
1
su solución funcionó, puse toda la sección -D dentro de "" ... es realmente sorprendente que un producto tan mal diseñado y mal codificado como Maven haya logrado volverse tan popular ...
Pierluigi Vernetto
1

Cambiar mvn cleanpara mvn clean --file *.pomsolucionar este problema para mí.

Matthias Braun
fuente
1

En Windows, recibí este error al ejecutar en un símbolo del sistema que no es de administrador. Cuando ejecuté esto como administrador, el error desapareció.

tcb
fuente
1

1.Cree una carpeta lib en su archivo de proyecto,

2.copie sus archivos jar a la carpeta lib

3.haga clic derecho en su archivo jar, vaya a la ruta de compilación> Agregar a la ruta de compilación (ahora su archivo jar es parte de sus bibliotecas de referencia)

4.Abra el símbolo del sistema y navegue hasta el directorio de su proyecto y escriba

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

6.Regenere su índice de repositorio local abriendo en eclipse: vaya a la ventana> mostrar vista> otro> maven> repositorios maven. Haga clic derecho en Repositores locales y presione "RebuildIndex"

5.abra su archivo pom.xml y agregue su dependencia

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

y correr

mvn clean
mvn compile 
mvn test 
CTester
fuente
Me he estado preguntando cómo fallaría un simple comando experto ... Se me ocurrió tu solución y ¡listo! ¡Funcionó! Nadie estaba escribiendo los parámetros de Java dentro del ", que era lo que me estaba perdiendo. Muchas gracias :)
Russellhoff
0

Recibí este error de repente en Netbeans (pero funcionó desde la línea de comando) y resulta que algún otro programa había cambiado el directorio predeterminado del símbolo del sistema. Y debido a que Netbeans ejecuta "cmd / c" al invocar maven, se inicia en un directorio incorrecto.

Consulte en Regedit el valor de

HKEY_CURRENT_USER\Software\Microsoft\Command Processor\Autorun  

Si se ha configurado, probablemente debería eliminarlo para solucionar el problema. (1)

(Aterricé aquí cuando intentaba resolver este problema, puede que no sea 100% aplicable a la pregunta actual, pero podría ayudar a otros)

(1) Cambio del directorio de inicio predeterminado para el símbolo del sistema en Windows 7

AtliB
fuente
0
  • La ejecución del comando maven requería un archivo pom.xml que contiene información sobre el proyecto y los detalles de configuración utilizados por Maven para construir el proyecto. Contiene valores predeterminados para la mayoría de los proyectos.

  • Asegúrese de que el proyecto debe contener pom.xml en el nivel raíz.

Nanda Balakrishnan
fuente
0

Agregue el archivo Jenkins donde está presente el archivo pom.xml. Proporcione la ruta del directorio en 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
fuente
0

Compruebe el nombre del archivo, es decir, el archivo pom.xml está escrito correctamente con la extensión de archivo adecuada .xml .

Ejemplo de este error son

pom.ml pm.xl

Gani
fuente
0

Puede haber un problema con la configuración de la ruta de Maven, si usó un sistema de operador similar a Unix.

paso 1: crea un nuevo archivo en la ruta ~/.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

Paso 2: Ejecutar shell source ~/.bash_profile o modificar el archivo de configuración zsh (añadir nueva línea: source ~/.bash_profile)

daidai21
fuente
-1

"El objetivo que especificó requiere un proyecto para ejecutarse": la respuesta está en su pregunta. Me enfrenté al mismo problema. Ejecute el "comando mvn" dentro de la carpeta del proyecto . También asegúrese de que sea un proyecto configurado por maven y, por lo tanto, contenga el archivo "POM.xml" ¡y debería estar listo para comenzar!

krutika sheth
fuente
2
Este comando es para instalar jar local de terceros. No tenemos el código fuente del proyecto con nosotros
madhairsilence
-2

Ejecútelo desde el directorio donde reside POM.XML.

Sasiraj
fuente
9
Se votó en contra porque el install:install-fileobjetivo no necesita ejecutarse (¿no se puede?) En un proyecto. Se utiliza para instalar manualmente un artefacto en un repositorio.
Zoltán
Estoy intentando cargar un archivo zip que no tiene Pom xml. downvoted
kazanaki