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?

Adrian
fonte
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.

Adrian
fonte
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.

Josh Sullivan
fonte
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

J.Javan
fonte
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.

madhairsilence
fonte
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.

Matthias Braun
fonte
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.

tcb
fonte
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 
CTester
fonte
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

AtliB
fonte
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.

Nanda Balakrishnan
fonte
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
            }
        }
    }
}
Prabu Balasubramanian
fonte
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

Gani
fonte
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)

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

Krutika Sheth
fonte
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.

Sasiraj
fonte
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