메이븐 오류 : 메인 클래스 org.codehaus.plexus.classworlds.launcher.Launcher를 찾거나로드 할 수 없습니다


136

나는 최신 설치 maven-3.0.4윈도우 7 :
다음과 같이 설치 세부 사항은을 :
설치 경로 :

C:\apache-maven-3.0.4  

환경 변수는 다음과 같습니다.

M2_HOME C:\apache-maven-3.0.4\apache-maven\src  
JAVA_HOME C:\Program Files\Java\jdk-1.7.0_04  

추가 된 경로 변수는 다음과 같습니다.

%M2_HOME%\bin;%JAVA_HOME%\bin;

명령 창에서 다음과 같이 표시됩니다.

C:\>java -version  
java version "1.7.0_04"  
Java(TM) SE Runtime Environment (build 1.7.0_04-b22)  
Java HotSpot(TM) Client VM (build 23.0-b21, mixed mode, sharing)  
C:\>mvn -version  
Error: Could not find or load main class org.codehaus.plexus.classworlds.launcher.Launcher  

이것은 내 PC에 설치된 maven의 유일한 버전이며 이전 M2_HOME환경 변수 삭제를 참조하는 많은 블로그에 제공된 솔루션 이 유효하지 않습니다.

나는 블로그에서 주어진 모든 솔루션을 읽고 시도했다.

그러나 여전히 그것을 얻을 수 없습니다. 이 모든 것에서 무엇을 놓칠 수 있습니까? 미리 감사드립니다.


4
이진 파일을 다운로드 했는데zip 깨졌습니다. 로 교체되어 .tar.gz작동합니다. 따라서 M2_HOME올바르게 설정되면 실제로 다운로드 한 것이 올바른지 확인하십시오.
Pavel Horal

@PavelHoral 나에게도 일어났다
hoaphumanoid

mvn compile 같은 명령을 통해이 jenkins에서만이 오류가 발생합니다.
Nullpointer

답변:


141

나도이 문제를 공격하고, 발견 기사를. Maven3의 경우 내 환경 변수 이름을 M2_HOME에서 M3_HOME으로 변경하면 트릭을 수행했습니다. JDK 1.7에서 OSX 10.9를 실행하는 Mac을 사용하고 있습니다. 도움이 되었기를 바랍니다.

참고 : 이미 설정된 경우 M2_HOME을 삭제하십시오. 예 :unset M2_HOME


26
Mac에서도 마찬가지입니다. M2_HOME을 삭제해야합니다
Luke

우분투에서 Maven 3.3.3 바이너리로 작업했습니다. JAVA_HOME이 설정되지 않았습니다.
TFuto

2
이것은 brew installed maven (3.3.3)이 설치된 Mac OS 10.10.5부터 작동합니다.
예레미야

@Luke 감사합니다! unset M2_HOME.
Jared Burrows

5
이 솔루션은 효과가 있지만 생각할 수있는 것은 아닙니다. 에 표시된 문제는 일부의견 참조 된 문서의, M3_HOME 대신, 오히려 M2_HOME 잘못 정의되어 있는지 필요하다는 아니다. M3_HOME이 전혀 사용되지 않는 것 같으므로 기본적으로 M2_HOME을 삭제할 때 기본적으로 사용되는 것이 사용됩니다.
Matt

64

질문에 대답했지만 위에서 언급 한 오류가 발생하면 바이너리 파일 을 다운로드했는지 확인하십시오 .

소스 파일은 고급 사용자이고 처리 방법을 알고있는 경우에만 다운로드해야합니다.

나는 잘못된 파일, 노인 및 후배를 다운로드하는 사람들의 상당 부분을 가졌습니다.


1
필자는 실제로 소스 다운로드하여 전통적인 방식으로 작업을 수행했지만 실수로 이진 설치 지침을 따랐습니다. 바이너리 타르를 복사하는 것은 실제로 장기적으로 더 쉬웠습니다.
MDMoore313

+1 : 여기에서 같은 일이 발생했습니다. 실수로 잘못된 다운로드 링크를 클릭했습니다. 내가 올바른 zip 파일을 얻지 못했습니다!
Laura Ritchey

이것은 한 손으로 문제를 해결했습니다. 감사합니다!
Liran H

진실. 소스 파일을 다운로드하고 M3_HOME 업데이트를 시도했지만 작동하지 않았습니다. 바이너리는 잘 작동합니다.
Rohit

나에게 이런 일이 일어났다. 사용할 웹 사이트가 확실하지 않습니다.
frodo2975

60

나는이 같은 문제를 겪고 있었고 환경 변수를 신중하게 다시 실행하여 해결할 수있었습니다.

  • M2_HOME
  • M2
  • JAVA_HOME

또한 Maven 지침과 같은 사용자 변수가 아닌 모든 시스템 변수를 만들었습니다 . 때를

echo %Path%

% M2 % 및 % JAVA_HOME % 변수가 완전히 확장되었는지 확인하십시오.

C:\Users\afairchild>echo %Path%
C:\Program Files\Apache Software Foundation\apache-maven-3.0.4\bin;C:\Program Files\Java\jdk1.7.0_09\bin; [etc]

M2_HOME은 업그레이드 중인지 가장 먼저 확인해야합니다. JAVA_HOME은 변경되지 않아야합니다.
Joe Leo

3
M2환경 변수 는 어떻게 사용됩니까? 나는 단지이 JAVA_HOMEM2_HOME.
Kevin Meredith

1
@KevinMeredith : M2환경 변수는 때때로 %M2_HOME\bin%경로 를 나타내는 데 사용되며 ,이 경로는 %Path%환경 변수에 추가됩니다 . 이것은 정의 된 mvn.bat표준 %Path%항목 에서 Maven 배치 파일 을 찾을 수 없을 때 필요 합니다. 일반적인 사용 사례는 Maven의 비표준 설치 디렉토리입니다.
Moreaki

@Alex mvn compile과 같은 명령을 통해이 jenkins에서만이 오류가 발생합니다.
Nullpointer

49

설치는 apt-get으로 수행되었지만 두 가지 다른 Ubuntu 12.04 설치 에서이 문제가 발생했습니다. 문제는 M2_HOME입니다.

로 고정 :

export M2_HOME=/usr/share/maven

2
그것은 나를 위해 일했지만 M2_HOME = / usr / share / maven2 (다른 사람이 그것을 시도하는 경우)로 작동했습니다. 감사!
jimkont

1
Ubuntu에서 다음 명령을 사용하여 /etc/profile.d/maven.sh를 더 잘 작성하십시오 export M2_HOME=/usr/share/maven. @jimkont이 지적했듯이 때로는 maven2 또는 maven3입니다 (maven3을 설치 한 경우 물론).
Rael Gugelmin Cunha

효과가있다. 감사. 그러나 / etc / environtment 파일에 추가 할 수 있습니까?
karthik

35

Maven 사이트에서 BINARY 대신 SRC를 다운로드했기 때문에이 오류가 발생했다고 생각합니다. 바이너리 zip을 다운로드하십시오.

아래 경로 때문에 SRC를 다운로드 할 때만 얻을 수 있습니다.

M2_HOME C : \ apache-maven-3.0.4 \ apache-maven \ src

여기에 이미지 설명을 입력하십시오


이것은 나를 위해 일했습니다. maven.apache.org/install.html 가이드를 따르고 시스템 경로 변수를 C : \ apache-maven-3.6.3 \ bin
ChrisE

21

경로 정보를 기반으로 바이너리 대신 소스 파일을 설치 (추출) 된 것처럼 들립니다. 대신 바이너리를 설치하고 다른 포스터를 따라보십시오.


고맙습니다. 그러나 bin 디렉토리에 올바른 실행 파일이 포함되어있는 한 src 다운로드를 사용할 수없는 이유는 무엇입니까?
java123999

13

글쎄, 난이 문제를했고이 게시물을보고, 특히 khmarbaise 대답 후 나는 그 발견 M2_HOME했다

D:\workspace\apache-maven-3.1.0-bin\apache-maven-3.1.0\bin

그리고 나는 그것을 쫓아

D:\workspace\apache-maven-3.1.0-bin\apache-maven-3.1.0

Windows 7 (x64)을 사용한다고 언급하고 싶습니다.


mvn compile 같은 명령을 통해이 jenkins에서만이 오류가 발생합니다.
Nullpointer

6

이후 버전의 Maven에 대한 솔루션은 간단합니다. OS X ElCap, 10.11.6을 사용 중이며 Maven 3.3.9로 업그레이드되었습니다. " Could not find ...org.codehaus.plexus..." 오류와 동일한 문제가 있습니다. 여기에 제공된 링크는 McKamey의 코멘트로 솔루션을 제공했습니다 unset M2_HOME. 간단히 M2_HOME ( )을 삭제하십시오 . 일단 그것을 시도하면 모든 것이 예상대로 작동했습니다.

이는 Maven install page"생성 된 디렉토리 apache-maven-3.3.9의 bin 디렉토리를 PATH 환경 변수에 추가" 를 방문하여 확인할 수 있습니다 . M2_HOME 또는 M3_HOME에 대한 언급은 없습니다.


4

M2_HOME의 위치를 ​​다음과 같이 변경해야합니다.

set M2_HOME=C:\apache-maven-3.0.4\apache-maven

또한 JDK를 설치하면 JDK 대신 JRE가 더 많이 보입니다. Maven의 경우 JDK가 아니라 JDK가 필요합니다.


고맙지 만 jdk와 jre를 모두 가지고 있습니다. JAVA_HOME을 C : \ Program Files \ Java \ jdk1.7.0_04로 제공 한 것을 알 수 있습니다. 그리고 내가 말한 M2_HOME의 경로를 지정하면 cmd는 'mvn'명령조차 인식하지 못합니다.
manofsins 2016 년

내가 설명한 것처럼 M2_HOME을 변경하면 mvn 명령을 호출하는 데 필요한 경로에 % M2_HOME % \ bin이 추가됩니다.
khmarbaise 2016 년

4

Mac OSX에서도 비슷한 문제가 발생했습니다. 일련의 시행 착오 시도 후 마침내 해결했습니다.

~/.bash_profile모습은 이렇다

export M2_HOME=/Users/xyz/maven-3.x/bin
export PATH=$PATH:$M2_HOME

내가하려고 할 때 echo M2_HOME터미널에서, 그것은 나에게 올바른 경로를 보여하지만 내가 원하는 받는다는 명령을 해고하려고 할 때 mvn clean또는 mvn install항상 같은 문제를했다

주 클래스 org.codehaus.plexus.classworlds.launcher.Launcher를 찾거나로드 할 수 없습니다

내 것으로 변경 하여이 문제를 해결 M2_HOME했습니다.

export M2_HOME=/Users/xyz/maven-3.x
export PATH=$PATH:$M2_HOME/bin

그리고 짜잔! 작동하기 시작했다! /binM2_HOME 의 위치를PATH


3

Source zip archive 대신 Binary zip archive (apache-maven-3.5.0-bin.zip)를 다운로드했는지 확인하십시오. 그런 다음 작성된 디렉토리 apache-maven-3.5.0의 bin 디렉토리를 PATH 환경 변수에 추가하십시오.


3

대부분의 Maven 설정에서 "주 클래스를 찾거나로드 할 수 없습니다 ..."와 같은 문제가 발생하면 아래 단계부터 시작하여 문제가 해결되는지 확인하십시오.

  • 올바른 아카이브 (소스 아카이브가 아닌 바이너리 아카이브)의 압축을 풀어야합니다.
  • Maven과 관련된 모든 사용자 및 시스템 변수를 제거하십시오 (예 : M2_HOME, M2_OPTS 등).
  • JAVA_HOME 시스템 변수가 설정되어 있는지 확인하십시오 (예 : "C : \ Program Files \ Java \ jdk1.8.0_172")
  • Java 경로 위치가 "path"시스템 변수에 추가되어 있는지 확인하십시오 (예 : "% JAVA_HOME % \ bin")
  • maven bin 위치가 "path"시스템 변수에 추가되어 있는지 확인하십시오 (예 : "C : \ MyInstalls \ apache-maven-3.5.4 \ bin")

그때...

  • Java가 설정되어 있는지 확인하십시오 (commandprompt : java -version).
  • maven이 설정되어 있는지 확인하십시오 (commandprompt : mvn --version).

2

나는 같은 문제가 있었다. Windows XP 상자가 있고 mvn -version명령 줄 프롬프트에 입력 하면 두려운 오류 메시지가 나타납니다.

"Exception in thread "main" java.lang.NoClassDefFoundError: org/codehaus/plexus/classworlds/launcher/Launcher"

M2_HOME변수가 PC에서 Maven이 설치된 경로로 설정되었고echo %path% 되었고 Maven이 내 경로에 있음을 확인했습니다.

내 솔루션을 우연히 발견했을 때 몇 시간 동안 솔루션을 찾고있었습니다 (아마도 같은 오류가 발생하는 모든 사람에게 솔루션이 아닐 것이므로 내 솔루션이라고 말합니다).

M2_HOME변수 에 지정된 경로를 복사했습니다 . cmd 창을 열고 cd를 입력하고 내가 얻은 경로를 붙여 넣었습니다.M2_HOME 변수 . 그 시점에서 나는 경로가 창에 표시되어 경로가 정확하다는 것을 알았습니다. 이 시점에서 나는 dir 명령을 입력했고 놀랍게도 File Not Found 오류가 발생했습니다.

탐색기를 통해 해당 경로로 이동했으며 파일이 충분히 있는지 확인했습니다. 폴더가 희미 해지는 것을 알았지 만 폴더에 액세스하여 각 폴더 내의 파일을 볼 수있었습니다 (내 PC에 대한 관리자 권한이 있음). Maven의 상위 폴더 속성을보고 숨겨진 상자가 선택되어 있음을 확인했습니다. 확인을 제거하고 dir 명령을 성공적으로 적용하고 다시 시도했습니다.

다음으로 mvn –version명령을 다시 시도 했지만 이번에는 예상 결과를 얻었습니다.

C:\>mvn -version
Apache Maven 3.0.3 (r1075438; 2011-02-28 11:31:09-0600)
Maven home: C:\Program Files\apache-maven-3.0.3
Java version: 1.5.0_16, vendor: Sun Microsystems Inc.
Java home: C:\Java\jdk1.5.0_16\jre
Default locale: en_US, platform encoding: Cp1252
OS name: "windows xp", version: "5.1", arch: "x86", family: "windows"

마지막으로 jar 및 war 파일을 만들고 웹 응용 프로그램이 로컬 Tomcat에서 성공적으로 실행되었습니다.

나는 이것이 당신의 일부를 도울 수 있기를 바랍니다.


2

maven의 바이너리 버전을 설치하면 문제가 해결됩니다.

아파치-maven-3.6.1-bin.zip


1

@khmarbaise가 지적한 것 외에도 JAVA_HOME을 잘못 입력했다고 생각합니다. 기본 위치에 설치 한 경우 jdk와 1.7.0_04 사이에 "-"(하이픈)이 없어야합니다. 그래서 그것은

JAVA_HOME C:\Program Files\Java\jdk1.7.0_04 

고맙지 만 불행히도 나는 여기에만 잘못 입력했으며 '하이픈없이'와 동일합니다.
manofsins 2016 년

1

이 문제가 발생할 수있는 다른 사람들을 위해 ~ / .mavenrc에서 M2_HOME 또는 JAVA_HOME 설정을 확인하는 것을 잊지 마십시오.


1

공식 maven 사이트에서 완전한 소스 대신 바이너리 zip (예 : Maven 3.0.5 (Binary zip))을 다운로드하십시오. 또한 명령 행이 java 및 javac 명령을 인식하는지 확인하십시오. Maven Source zip은 lib 폴더에 라이브러리를 포함하지 않았지만 바이너리 zip에는 부트 폴더에 + plexus-classworlds-2.4.jar가있었습니다. 아마도 이러한 라이브러리가없는 문제 일 수 있습니다. 어쨌든 그것은 내 M2_HOME이 C : \ Program Files \ Java \ apache-maven-3.0.5이고 PATH에 C : \ Program Files \ Java \ apache-maven-3.0.5 \ bin이되도록 도와줍니다.


1

centOS에서이 문제는 "Oracle Java가 gcj로 대체 됨"으로 인해 발생합니다. 기본 java를 "Oracle Java"로 변경하면 문제가 해결됩니다.

alternatives --config java

There are 2 programs which provide 'java'.

  Selection    Command
-----------------------------------------------
*  1           /usr/lib/jvm/jre-1.5.0-gcj/bin/java
 + 2           /usr/java/jdk1.7.0_67/bin/java

1

소스 파일을 설치 한 것 같습니다 (소스 파일 src로만 제공되며 필요하지 않기 때문에). 거기 에서 바이너리 파일 을 설치하십시오 . 그런 다음 여기에 설명 된대로 환경 변수를 설정하십시오 . 이것은 나를 위해 일했습니다. 그리고 그것이 당신에게도 효과가 있다고 확신합니다.


1

잘못된 버전을 다운로드 한 것 같습니다. 검색 및 검색 후 방법이 작동하지 않습니다. 마지막으로, 다운로드 한 maven은 Source zip archive 입니다. Binary zip archive로 변경하면 모든 것이 잘됩니다.


나는 이것을 게시하려고했습니다. 이것은 내가 직면 한 문제입니다. 내가 당신의 대답을 읽은 것만으로도 30 분을 저축했을 것입니다.
Bartho Bernsmann

1

나도 비슷한 문제에 직면했다. 그러나 필자의 경우 경로 변수에 apache-maven-3.3.3-src 폴더를 사용했습니다. 나중에 폴더 apache-maven-3.3.3-bin의 경로가 올바른 것을 수정했습니다. 문제가 해결되었습니다. 여기에보고 된 것과 동일한 오류라고 말하지는 않지만이 방법 으로도이 오류가 발생하여 수정할 수 있습니다. 그것이 내가 여기서 말하려는 것입니다.


1

새 터미널을 열고 팔로우를하십시오

M2_HOME=/Users/macbook/apache-maven-3.6.1 //Set where maven is
M2=$M2_HOME/bin                          //Set home as bin
export PATH=$M2:$PATH                   //Place the new path

그런 다음 입력

mvn -version

./bash_profile터미널을 실행할 때마다 자동으로 수행하도록 설정할 수 있습니다


0

bin디렉토리 만 설치 디렉토리에 복사하는 경우 올바른 환경 변수 설정을 사용하더라도 동일한 오류가 나타날 수 있습니다 . 그것은 which잘 작동하고 초보자는 붙어 있습니다.


0

우분투의 OpenJDK 11에서 Maven 3.5.4를 사용할 때이 문제가 발생했습니다. 우분투의 OpenJDK 11은 실제로 여전히 JDK10입니다.

$ ls -al /etc/alternatives/java
lrwxrwxrwx 1 root root 43 Aug 24 04:54 /etc/alternatives/java -> /usr/lib/jvm/java-11-openjdk-amd64/bin/java
$ java --version
openjdk 10.0.2 2018-07-17
OpenJDK Runtime Environment (build 10.0.2+13-Ubuntu-1ubuntu0.18.04.3)
OpenJDK 64-Bit Server VM (build 10.0.2+13-Ubuntu-1ubuntu0.18.04.3, mixed mode)

Oracle의 OpenJDK를 /opt/jdk-11.0.1에 설치하고 다음과 같이 Maven을 실행했습니다.

JAVA_HOME=/opt/jdk-11.0.1 mvn

이제는 매력처럼 작동합니다.


0

확실한 플러그인 자체에 문제가있었습니다. 버전 2.6으로 돌아 가면 나를 위해 일했습니다. 버전 2.18 / 20 / 22.1에서 오류가 발생했습니다. 이제 확실한 플러그인의 버전 3.0.0-M1을 사용해 보았습니다.

따라서 버전 2.6과 3.0.0 사이의 확실한 보안 문제가 있습니다. 나는 기본값으로 하드 코딩 된 것이 있다고 가정합니다.


0

나를 위해 재미있게 들리면 다시 시작하는 데 도움이되었습니다 eclipse...


0

이것은 나를 위해 일했다 :

  1. 환경 변수에서 모든 Mavin 참조 제거
  2. mavin 에서 바이너리 를 다운로드하십시오
  3. 예를 들어 C : \ apache-maven-3.6.0에 압축을 풉니 다.
  4. 환경 변수로 이동하여 시스템 변수 경로 "C : \ apache-maven-3.6.0 \ bin"에 추가하십시오.
  5. 관리자 권한으로 명령 프롬프트 시작
  6. 다음을 사용하여 버전 확인 : mvn -v

CMD 결과 :

Apache Maven 3.6.0 (97c98ec64a1fdfee7767ce5ffb20918da4f719f3; 2018-10-24T20 : 41 : 47 + 02 : 00) Maven 홈 : C : \ apache-maven-3.6.0 \ bin ..


0

시스템에서 다음 오류가 발생했습니다 (Mac).

오류 : 기본 클래스 org.codehaus.plexus.classworlds.launcher.Launcher를 찾거나로드 할 수 없습니다

임의의 탐색을 한 후 "JAVA_HOME"을 "/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/로 설정해야한다는 링크" http://maven.apache.org/install.html "을 발견했습니다. 목차 / 가정 / jre ".

".bash_profile"에서 위에서 설명한대로 "JAVA_HOME"을 변경하면 "mvn"명령이 작동하기 시작했지만 "javac -version"명령의 작동이 중지되었습니다.

"javac -version"명령을 입력하면 다음 오류가 발생합니다

"/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/jre/bin/javac"에서 실행 파일을 찾을 수 없습니다 (-1).

따라서 ".bash_profile"의 "JAVA_HOME"을 "/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home"으로 롤백하고 "mvn"스크립트의 맨 위에 다음 줄을 추가했습니다.

내보내기 JAVA_HOME = / 라이브러리 /Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/jre

이제 "mvn"과 "javac"명령이 모두 제대로 작동했지만 mvn 스크립트를주의 깊게 관찰 한 후 다음 명령 사이에 차이를 만들 수 없었습니다.

/ Library / Java / JavaVirtualMachines / jdk1.8.0_45.jdk / Contents / Home / bin / java -classpath /Users/venkatarajeevmandava/Documents/Maven/apache-maven-3.6.1/boot/plexus-classworlds-2.6.0. jar -Dclassworlds.conf = / 사용자 /venkatarajeevmandava/Documents/Maven/apache-maven-3.6.1/bin/m2.conf -Dmaven.home = / Users / venkatarajeevmandava / Documents / Maven / apache-maven-3.6.1- Dlibrary.jansi.path = / Users / venkatarajeevmandava / Documents / Maven / apache-maven-3.6.1 / lib / jansi-native -Dmaven.multiModuleProjectDirectory = / Users / venkatarajeevmandava / Documents / Maven / apache-maven-3.6.1 / bin org.codehaus.plexus.classworlds.launcher.Launcher

/ Library / Java / JavaVirtualMachines / jdk1.8.0_45.jdk / Contents / Home / jre / bin / java -classpath /Users/venkatarajeevmandava/Documents/Maven/apache-maven-3.6.1/boot/plexus-classworlds-2.6. 0.jar -Dclassworlds.conf = / Users / venkatarajeevmandava / Documents / Maven / apache-maven-3.6.1 / bin / m2.conf -Dmaven.home = / Users / venkatarajeevmandava / Documents / Maven / apache-maven-3.6. 1 -Dlibrary.jansi.path = / Users / venkatarajeevmandava / Documents / Maven / apache-maven-3.6.1 / lib / jansi-native -Dmaven.multiModuleProjectDirectory = / Users / venkatarajeevmandava / Documents / Maven / apache-maven-3.6. 1 / bin org.codehaus.plexus.classworlds.launcher.Launcher

위의 첫 번째 명령으로 인해 다음과 같은 오류가 발생했습니다.

오류 : 기본 클래스 org.codehaus.plexus.classworlds.launcher.Launcher를 찾거나로드 할 수 없습니다

두 번째 명령은 잘 작동했습니다. 위의 두 경로 모두에 "java"명령이 있고 하나는 "jre"에 있고 다른 하나는 "jdk"에 있습니다.

다른 전역 변수는 ".bash_profile"에서 다음과 같습니다.

export M2_HOME = / 사용자 / venkatarajeevmandava / 문서 /Maven/apache-maven-3.6.1

내보내기 PATH = $ PATH : $ M2_HOME / bin


-1

이것은 Maven을 설정하는 동안 일반적인 문제입니다. 당신이해야 할 일은 아래 :-

  1. M2_HOME :-D : \ apache-maven-2.0.11
  2. M2 :-D : \ apache-maven-2.0.11 \ bin
  3. 경로 :-; % M2 %로 추가

M2_HOME & M2 :-USER / ADMIN 변수가 아닌 시스템 변수로 선언해야합니다.

경로 :-시스템 변수 또는 USER / ADMIN 변수 [PATH] 일 수 있습니다. 바람직하게는 시스템 변수.

이 3 변수를 신중하게 설정하면 아래와 같이 Maven의 설치를 확인할 수 있습니다.

CMD 프롬프트에서 :-


C : \ Documents and Settings \ ADMIN> mvn-버전


출력 :-


Apache Maven 2.0.11 (r909250; 2010-02-12 11 : 25 : 50 + 0530) Java 버전 : 1.6.0_22 Java 홈 : C : \ Program Files \ Java \ jdk1.6.0_22 \ jre 기본 로캘 : en_US, 플랫폼 인코딩 : Cp1252 OS 이름 : "windows xp"버전 : "5.1"아치 : "x86"제품군 : "windows"

감사.


-1

아마도 유용하지만 너무 증상적인 답변 옆에 문제의 원인을 찾는 데 도움이되는 답변이 있습니다.

Maven은 명령 줄 Java 도구입니다. 즉, 독립 실행 형 바이너리가 아니며 .jarjvm ( java.exeWindows의 경우 javaLinux의 경우) 에 의해 해석되는 java 의 모음입니다 .

mvn명령, 스크립트입니다. Windows에서는 스크립트라고 mvn.cmd하며 Linux에서는 쉘 스크립트입니다. 따라서 다음과 같이 쓰면 mvn install어떻게됩니까?

  1. 실제 호출 스크립트에 대해 명령 인터프리터 ( /bin/sh또는 cmd.exe)가 호출됩니다.
  2. 이 스크립트는 필요한 환경 변수를 설정합니다
  3. 마지막으로 maven 기능을 포함하는 필수 클래스 경로로 Java 인터프리터를 호출합니다.

문제는 (2)입니다. 다행히도이 스크립트는 매우 간단합니다. 자바 프로그래머의 경우 스크립트가 약간 외계인 인 경우에도 약 20 줄 정도의 스크립트를 디버깅하는 데 큰 어려움이 없어야합니다.

리눅스에서는 -x쉘 인터프리터에 플래그를 제공하는 쉘 스크립트를 디버깅 할 수 있습니다 (대부분 bash). Windows에서는 cmd.exe스크립트 를 디버깅하는 다른 방법을 찾아야 합니다. 따라서 대신에 mvn install명령을 제공하십시오 bash -x mvn install.

결과는 다음과 같습니다.

+ '[' -z '' ']'
+ '[' -f /etc/mavenrc ']'
+ '[' -f /home/picsa/.mavenrc ']'
+ cygwin=true
+ darwin=false

...별로 많지 않은 ...

+ MAVEN_PROJECTBASEDIR='C:\peter\bin'
+ export MAVEN_PROJECTBASEDIR
+ MAVEN_CMD_LINE_ARGS=' '
+ export MAVEN_CMD_LINE_ARGS
+ exec '/cygdrive/c/Program Files/Java/jdk1.8.0_66/bin/java' -classpath 'C:\peter/boot/plexus-classworlds-*.jar' '-Dclassworlds.conf=C:\peter/bin/m2.conf' '-Dmaven.home=C:\peter' '-Dmaven.multiModuleProjectDirectory=C:\peter\bin' org.codehaus.plexus.classworlds.launcher.Launcher
Fehler: Hauptklasse org.codehaus.plexus.classworlds.launcher.Launcher konnte nicht gefunden oder geladen werden

결국 어떤 환경 변수가 잘못되었는지 쉽게 테스트하고 스크립트를 쉽게 수정하거나 필요한 것을 설정할 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.