maven 명령 실행 후 "지정한 목표를 실행하려면 프로젝트가 필요하지만이 디렉토리에 POM이 없습니다"오류


113

나는 pom.xml안으로 C:\Users\AArmijos\Desktop\Factura Electronica\MIyT\componentes-1.0.4\sources\pom.xml있고 나는 실행했다.

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

그러나 아래 오류가 반환되었습니다.

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

누군가 실패 이유를 설명 할 수 있습니까?


여기서 확인 했어? maven.apache.org/plugins/maven-install-plugin/usage.html 템플릿이 유효하지 않은 것 같습니다. .jar 파일이 첫 번째 인수에 나오는 것을 봅니다.
Deividi Cavarzan

예,이 명령은 다른 PC에서 제대로 실행되지만 나는 나의 PC에서, 나는 JDK의 최신 버전을 설치 할 수 있으며 받는다는
아드리안

이제 오류가 더 잘 보입니다. 이 폴더에 mvn install-install-file이라고 부르는 pom.xml이 있습니까? 있는 경우 질문을 업데이트 할 수 있습니까?
Deividi Cavarzan

예, pom.xml이 있습니다
Adrian

질문에 게시 할 수 있습니까?
Deividi Cavarzan

답변:


192

이 링크가 도움이되었습니다 : https://stackoverflow.com/a/11199865/1307104

다음과 같이 모든 매개 변수에 따옴표를 추가하여 명령을 편집합니다.

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"

작동했습니다.


1
언제부터 견적이 필요합니까? 그래서 ... 그런 쓰레기 오류 메시지에 대한 답변을 찾을 지금 당황, 그리고 마지막으로 안심하고
BAERUS

를 수행 할 때 비슷한 문제가 발생 deploy:deploy-file했지만 내 문제는 -옵션 중 하나 앞에 대시 ( " ")를 놓친 것입니다.
RAM237

감사합니다. 1999 년과 우리는 2018 년이 된 것 같은 느낌이
듭니다

PowerShell을 사용하는 경우 PowerShell이 ​​명령 줄에서 색상으로 인수를 분리하는 방법을 시각적으로 확인하거나 명령 앞에 "echo"를 입력 할 수 있습니다. "echo mvn install : install-file ..."처럼.
turiyag

이전 버전의 maven에서는 큰 따옴표를 제공하지 않았습니다. 그러나 이제는 그것 없이는 작동하지 않습니다. 이것은 내 문제를 해결했습니다.
Pankaj

39

Windows에서이 문제가 발생하고 위의 방법 중 어느 것도 작동하지 않은 경우 cmd.exe에서 실행 해보십시오. PowerShell을 통해 이러한 명령을 실행하면 매번 설치가 실패했습니다.


1
같은 문제 PowerShell 및 CMD는 인수 처리 작업 다르게 보인다는 MVN을 혼동 할
eageranalyst

Maven의 시작 가이드를 따르고 Windows PowerShell에서 "mvn -B archetype : generate ....."실행을 시도하고 비슷한 오류가 발생했습니다. 다른 명령 줄 클라이언트 (mintty git bash)로 전환하면 문제가 해결되었습니다.
AbstractVoid

27

내가 염려하는 한 Windows에서는 모든 매개 변수를 따옴표로 묶어야합니다.

따라서 maven webapp archetype을 생성하려면 다음과 같이하십시오.

전제 조건 :

  1. Maven이 설치되어 있고 PATH 환경 변수에 있는지 확인하십시오.

어떻게:

  1. Windows PowerShell 열기
  2. mkdir MyWebApp
  3. cd MyWebApp
  4. mvn archetype : generate "-DgroupId = com.javan.dev" "-DartifactId = MyWebApp" "-DarchetypeArtifactId = maven-archetype-webapp" "-DinteractiveMode = false"

여기에 이미지 설명 입력

참고 : 이것은 Windows 10 powershell에서만 테스트되었습니다.


Mac OS X에서 확인되었습니다. 또한 dprowizard의 java-simple경우 mvn archetype:generate "-DarchetypeGroupId=io.dropwizard.archetypes" "-DarchetypeArtifactId=java-simple"대화 형 모드 또는 추가 매개 변수와 함께 다음 명령을 사용할 수 있습니다 .
Andrey Lebedenko

9

Windows 사용자를위한 답변을 하나 더 추가합니다. 이것으로 문제가 해결되지 않으면.

space전후에 추가하지 마십시오.=

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

"-DgroupId = com .."과 같이 모든 것을 큰 따옴표 안에 넣는 것이 좋습니다. 이렇게하면 임의의 오류가 아닌 정확한 오류가 발생합니다.

이상하게도 maven은 문서에서 이것을 언급하는 것을 신경 쓰지 않습니다.


1
솔루션은 ...이 제품이 이렇게 인기가 너무 가난 설계 및 관리하고있다 메이븐 같은 병으로 구분 정말 놀라운 ... 내가 ""내 모든 -D 섹션을 넣어, 일
Pierluigi Vernetto에게



1

Windows에서 비 관리자 명령 프롬프트에서 실행할 때이 오류가 발생했습니다. 관리자로 이것을 실행했을 때 오류가 사라졌습니다.


1

1. 프로젝트 파일에 lib 폴더를 만듭니다.

2. jarFiles를 lib 폴더에 복사하십시오.

3. jarFile을 마우스 오른쪽 버튼으로 클릭하여 빌드 경로로 이동> 빌드 경로에 추가 (이제 jar 파일은 참조 된 라이브러리의 일부입니다)

4. 명령 프롬프트를 열고 프로젝트 디렉토리로 이동하여

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

6. Eclipse에서 열어 로컬 저장소 인덱스를 다시 빌드합니다. window> show view> other> maven> maven Repositories로 이동합니다. 로컬 저장소를 마우스 오른쪽 버튼으로 클릭하고 "RebuildIndex"를 누르십시오.

5. pom.xml 파일을 열고 종속성 추가

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

그리고 실행

mvn clean
mvn compile 
mvn test 

나는 간단한 maven 명령이 어떻게 실패하는지 궁금해하고 있습니다 ... 나는 당신의 해결책과 짜잔을 생각해 냈습니다! 작동했습니다! 아무도는 "내가 무엇을 잃어버린 한 내 자바 PARAMS를 작성하지 않았다 대단히 감사합니다 :).
russellhoff

0

Netbeans에서 갑자기이 오류가 발생했지만 (명령 줄에서 작동했습니다) 다른 프로그램이 명령 프롬프트의 기본 디렉토리를 변경 한 것으로 나타났습니다. 그리고 Netbeans는 maven을 호출 할 때 "cmd / c"를 실행하기 때문에 잘못된 디렉토리에서 시작됩니다.

Regedit에서 값을 확인하십시오.

HKEY_CURRENT_USER\Software\Microsoft\Command Processor\Autorun  

설정된 경우 문제를 해결하려면 제거해야합니다. (1)

(이 문제를 해결하려고 할 때 여기에 도착했습니다. 현재 질문에 100 % 적용되지 않을 수 있지만 다른 사람들에게 도움이 될 수 있습니다)

(1) Windows 7에서 명령 프롬프트의 기본 시작 디렉토리 변경


0
  • maven 명령을 실행하려면 Maven에서 프로젝트를 빌드하는 데 사용하는 프로젝트 및 구성 세부 정보가 포함 된 pom.xml 파일이 필요했습니다. 대부분의 프로젝트에 대한 기본값이 포함되어 있습니다.

  • porject가 루트 수준에서 pom.xml을 포함해야합니다.


0

pom.xml 파일이있는 Jenkinsfile을 추가합니다. dir ( 'project-dir')에 디렉토리 경로를 제공하십시오.

전의:

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

파일 이름을 확인하십시오. 즉, pom.xml 파일의 철자가 올바른 파일 확장자 .xml로 올바르게 입력되었는지 확인하십시오. .

이 오류의 예는 다음과 같습니다.

pom.ml pm.xl


0

유닉스 계열의 운영자 시스템을 사용한 경우 Maven 경로 구성에 문제가있을 수 있습니다.

1 단계 : 경로에 새 파일 만들기 ~/.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

2 단계 : 쉘 실행 source ~/.bash_profile 또는 zsh을 설정 파일을 수정 (새로운 라인을 추가합니다 source ~/.bash_profile)


-1

"지정한 목표를 실행하려면 프로젝트가 필요합니다.": 대답은 귀하의 질문에 있습니다. 나는 같은 문제에 직면했다. 프로젝트 폴더 내에서 "mvn 명령"을 실행합니다 . 또한 Maven으로 구성된 프로젝트인지 확인하고 따라서 "POM.xml"파일을 포함하고 있는지 확인하십시오.


2
이 명령은 로컬 타사 jar를 설치하는 것입니다. 우리는 우리와 함께 프로젝트 소스 코드를 가지고 있겠지
madhairsilence

-2

POM.XML이있는 디렉토리에서 실행하십시오.


9
install:install-file목표가 프로젝트에서 실행될 필요가 없기 때문에 (그럴 수 없습니까?) 비추천되었습니다 . 저장소에 아티팩트를 수동으로 설치하는 데 사용됩니다.
Zoltán

Pom xml이없는 zip 파일을 업로드하려고합니다. downvoted
kazanaki 2015-04-28
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.