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?


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


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.


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


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.


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

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


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 

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


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.


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
            }
        }
    }
}

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


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)


-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!


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.


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
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.