Erro “O objetivo que você especificou requer a execução de um projeto, mas não há POM neste diretório” após a execução do comando maven


113

Eu tenho um pom.xmlem C:\Users\AArmijos\Desktop\Factura Electronica\MIyT\componentes-1.0.4\sources\pom.xmle eu executado:

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

no entanto, ele retornou o erro abaixo:

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

Alguém pode explicar por que ele falha?


Você verificou aqui? maven.apache.org/plugins/maven-install-plugin/usage.html seu modelo parece ser inválido. Vejo que o arquivo .jar vem no primeiro argumento.
— Deividi Cavarzan

sim, este comando é executado corretamente em outro pc mas não consigo no meu pc, instalei a última versão do jdk e maven
— Adrian

Ok, agora vejo melhor o erro. Você tem um pom.xml nesta pasta que você chama de mvn install-install-file? Se sim, você pode atualizar sua pergunta?
— Deividi Cavarzan

Sim, tenho um pom.xml
— Adrian

Você pode postar em sua pergunta, por favor?
— Deividi Cavarzan

Respostas:


191

Este link ajudou: https://stackoverflow.com/a/11199865/1307104

Eu edito meu comando adicionando aspas 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"

Funcionou.


1
Desde quando preciso de orçamentos? Estou tão confuso agora e aliviado por finalmente encontrar uma resposta para uma mensagem de erro tão
— idiota

Enfrentei um problema semelhante ao fazer isso deploy:deploy-file, mas meu problema foi que simplesmente perdi o traço (" -") na frente de uma das opções.
— RAM237

Obrigado. Eu me sinto como em 1999 e estamos em 2018: /
— Nordes

Se você estiver no PowerShell, poderá ver visualmente como o PowerShell está separando os argumentos com as cores na linha de comando ou colocando "echo" na frente do comando. Como, "echo mvn install: install-file ...".
— turiyag

Na versão anterior do maven, eu nunca costumava fornecer aspas duplas. Mas agora não funciona sem ele. isso resolveu meu problema.
— Pankaj

39

Para qualquer um daqueles que estão experimentando isso no Windows e nenhuma das opções acima funcionou, tente executar a partir do cmd.exe. Executar esses comandos por meio do PowerShell fazia com que a instalação falhasse todas as vezes.


1
Mesmo problema, o Powershell e o manuseio de argumentos do CMD funcionam de maneira diferente e parecem confundir MVN
— ansioso analista

Estava seguindo o guia de primeiros passos do Maven e tentando executar "mvn -B archetype: generate ....." no Windows PowerShell e estava obtendo um erro semelhante. Mudar para um cliente de linha de comando diferente (mintty git bash) resolveu o problema.
— AbstractVoid

27

No Windows, no que me diz respeito, você deve colocar todos os parâmetros entre aspas.

Portanto, se você deseja criar um arquétipo de webapp maven, faça o seguinte:

Pré-requisitos:

  1. Certifique-se de ter o maven instalado e na sua variável de ambiente PATH.

Como:

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

insira a descrição da imagem aqui

Nota: Isso é testado apenas no windows 10 powershell


Verificado no Mac OS X. Além disso, para dprowizard, java-simplevocê pode usar o seguinte comando: mvn archetype:generate "-DarchetypeGroupId=io.dropwizard.archetypes" "-DarchetypeArtifactId=java-simple"com modo interativo ou com parâmetros extras.
— Andrey Lebedenko

9

Adicionando mais uma resposta para usuários do Windows. Se nada disso resolver os problemas.

Não adicione spaceantes ou depois=

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

É melhor colocar tudo entre aspas duplas, como "-DgroupId = com .." Isso fornecerá o erro exato em vez de algum erro aleatório.

Estranho isso, maven nem se importa em mencionar isso na documentação.


1
sua solução funcionou, coloquei toda a seção -D dentro de "" ... é realmente incrível que um produto tão mal projetado e mal codificado como o Maven conseguiu se tornar tão popular ...
— Pierluigi Vernetto


1

Mudando mvn clean para mvn clean --file *.pomcorrigiu esse problema para mim.


1

No Windows, recebo este erro ao executar em um prompt de comando de não administrador. Quando executei isso como administrador, o erro foi embora.


1

1. crie uma pasta lib em seu arquivo de projeto,

2. copie seus jarFiles para a pasta lib

3. clique com o botão direito em seu jarFile vá para build path> Adicionar para build path (agora seu arquivo jar faz parte de suas bibliotecas referenciadas)

4. Abra o prompt de comando e navegue até o diretório do projeto e escreva

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

6.Reconstrua seu índice de repositório local abrindo em eclipse - vá para janela> mostrar visualização> outro> maven> Repositórios maven. Clique com o botão direito em Repositores locais e clique em "RebuildIndex"

5. abra seu arquivo pom.xml e adicione sua dependência

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

e corra

mvn clean
mvn compile 
mvn test 

Eu estive me perguntando como um simples comando maven estaria falhando ... Eu vim com sua solução e voila! Funcionou! Ninguém estava escrevendo os parâmetros java dentro do ", que era o que eu estava perdendo. Muito obrigado :)
— russellhoff

0

Eu recebi este erro repentinamente no Netbeans (mas funcionou na linha de comando) e acontece que algum outro programa alterou o diretório padrão do prompt de comando. E como o Netbeans executa "cmd / c" ao invocar o maven, ele começa em um diretório incorreto.

Verifique no Regedit o valor para

HKEY_CURRENT_USER\Software\Microsoft\Command Processor\Autorun  

Se tiver sido definido, você provavelmente deve removê-lo para corrigir o problema. (1)

(Eu cheguei aqui ao tentar resolver este problema, pode não ser 100% aplicável à questão atual - mas pode ajudar outras pessoas)

(1) Alterar o diretório de inicialização padrão para prompt de comando no Windows 7


0
  • A execução do comando maven exigiu o arquivo pom.xml que contém informações sobre o projeto e detalhes de configuração usados ​​pelo Maven para construir o projeto. Ele contém valores padrão para a maioria dos projetos.

  • Certifique-se de que porject deve conter pom.xml no nível raiz.


0

Adicione o Jenkinsfile onde o arquivo pom.xml está presente. Forneça o caminho do diretório no 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

Verifique o nome do arquivo, ou seja, o arquivo pom.xml está escrito corretamente com a extensão de arquivo .xml adequada .

Exemplo para este erro são

pom.ml pm.xl


0

Pode haver um problema com a configuração do caminho Maven, se você usou o sistema operacional semelhante ao unix.

etapa 1: criar novo arquivo no caminho ~/.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: Executar shell source ~/.bash_profile ou modificar o arquivo de configuração zsh (adicionar nova linha: source ~/.bash_profile)


-1

"A meta que você especificou requer a execução de um projeto": a resposta está na sua pergunta. Eu enfrentei o mesmo problema. Execute o "comando mvn" dentro da pasta do projeto . Certifique-se também de que é um projeto configurado pelo maven e, portanto, contém o arquivo "POM.xml" e você deve estar pronto para prosseguir!


2
Este comando é para instalar o jar local de terceiros. Não temos o código-fonte do projeto conosco
— madhairsilence

-2

Execute-o a partir do diretório onde reside o POM.XML.


9
Não votado porque o install:install-fileobjetivo não precisa ser (não pode?) Executado em um projeto. É usado para instalar manualmente um artefato em um repositório.
— Zoltán

Estou tentando fazer upload de um arquivo zip que não contém Pom xml.
— votação
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.