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.