[java] Maven 빌드 실패 : “Javac 컴파일러를 찾을 수 없음 : jre 또는 jdk 문제”

JAVA_HOME을 다음과 같이 설정했습니다.

C:\Program Files (x86)\Java\jdk1.6.0_18

실행 후 Eclipsemaven install 에서 다음 메시지를받습니다 .

이유:

Unable to locate the Javac Compiler in:
  C:\Program Files (x86)\Java\jre6\..\lib\tools.jar
Please ensure you are using JDK 1.4 or above and
not a JRE (the com.sun.tools.javac.Main class is required).
In most cases you can change the location of your Java
installation by setting the JAVA_HOME environment variable.

이것이 까다로운 부분이라고 확신합니다

JRE가 아닌 JDK 1.4 이상을 사용하고 있는지 확인하십시오.

구성을 실행하면 JRE6으로 설정됩니다. 이미 설치 한 JDK 1.6으로 변경하려면 어떻게합니까?

플러그인을 수정하려고 시도했습니다.

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>2.0.2</version>
    <configuration>
        <source>1.6</source>
        <target>1.6</target>
        <executable>C:\Program Files (x86)\Java\jdk1.6.0_18\bin</executable>
    </configuration>
</plugin>

그래도 같은 오류가 발생합니다.

Eclipse Maven 플러그인을 사용합니다. Eclipse에서 JRE에서 JDK로 어떻게 변경할 수 있습니까?



답변

다음과 같이 사용중인 JDK Eclipse를 업데이트 할 수 있습니다.

메뉴 환경 설정 …Java설치된 JRE에서 JRE를 추가하고 설정합니다 .

JRE type: Standard VM JRE
Name: jdk1.6.0_18
JRE home directory: C:\Program Files (x86)\Java\jdk1.6.0_18

그렇지 않은 경우 JAVA_HOME 경로의 대괄호와 공백으로 인해 문제가 발생할 수 있습니다. JDK를 다른 위치에 복사하고 JAVA_HOME을 업데이트하십시오.


답변

eclipse.ini 파일 에는 vmJDK 위치를 가리키는 인수가 필요합니다 .

eclipse.ini다음과 같이 JDK 홈을 가리 키도록 파일을 편집하십시오.

-vm
C:\Program Files\Java\jdk1.6.0_06

이렇게하면 Eclipse가 시스템의 기본 JRE가 아닌 JDK에서 실행됩니다.


답변

당신은 시도 :

이동 Preferences/Java/Installed JREs하여 위치 "C:\Program Files\Java\jdk1.6.0_27\jre또는 이와 유사한 항목을 추가하십시오.

하나를 제거하십시오. C:\Program Files\Java\jre6

보시다시피 경로 C:\Program Files\Java\jre6\..\lib\tools.jar는 첫 번째 부분 (/ ..까지)이 C:\Program Files\Java\jdk1.6.0_27\jre.


답변

fork 를 true로 설정 하면 문제가 해결되었습니다.

<configuration>
    <fork>true</fork>
    <source>1.6</source>
    <target>1.6</target>
</configuration>


답변

나는 있었다 정확한 같은 문제! 내가 검색하고 일을 찾고 있었다 때문에 대한 모든 지껄 “는 -vm C 넣어 : \ 프로그램 파일 \ 자바 \ jdkxxxxx \ 빈”는 INI AR에서 바로 가기에 대한 인수가 그랬던 것처럼 모든 도움에 있지 !

(내가 답답하게 들리나? 믿어 라, 그건 과소 평가 다! Maven을 신뢰할 수있게 만드는 데 일주일을 잃었 기 때문에 나는 단순히 화가 난다!)

나는 매우 예측할 수없는 행동을했다. 때로는 컴파일되고 때로는 그렇지 않습니다. 내가했다면 maven clean컴파일러를 찾을 수 없어 실패했습니다. 그런 다음 빌드 경로에서 무언가를 변경하면 갑자기 다시 작동합니다 !!

메뉴 환경 설정Java설치된 JRE로 이동할 때까지 . JDK의 위치를 ​​사용하여 새 JRE를 추가 한 다음 JRE를 제거했습니다. 갑자기 Maven이 안정적으로 실행되었습니다!

아파치 매뉴얼에 글꼴 크기가 30 정도 인 글자를 넣을 가치가 있을까요?

존경하는 마음으로 이것은 Java 커뮤니티에 대해 터무니없는 일입니다! 나는 이런 종류의 문제를 해결하기 위해이 모든 사람들이 얼마나 많은 날을 잃었는지 상상할 수 없습니다! 나는 이것이 최종 버전으로 출시되는 것을 상상할 수 없습니다. 나는 개인적으로 베타 소프트웨어 라는 이름으로 그런 것을 공개하지 않을 것입니다 .

어느 쪽이든 상관 없습니다 …. 1 주일의 조작 후 마침내 개발을 시작할 수 있습니다. 상사가 이것에 대해 알지 못하길 바랍니다. 그 에게 .NET을 사용 하지 않도록 설득하는 데 많은 노력이 필요했고 이미 그것에 대해 미안하다고 느낍니다.


답변

Eclipse에서 Run as-> Maven 설치를 사용하여 동일한 문제가 발생했습니다. JAVA_HOME과 eclipse.ini는 괜찮 았고 내 최신 JDK를 가리 켰습니다. 그러나 m2clipse는 JRE를 사용했습니다. Eclipse 외부에서 mvn install을 사용하면 정상적으로 작동했습니다!

제 경우에는 다음과 같이 문제를 해결했습니다.

  1. Eclipse에서 탐색 : 메뉴 환경 설정Java설치된 JRE
  2. JRE 및 JDK에 대해 두 개의 비활성 항목이 있습니다. 활성 버전은 가장 최근에 설치된 JDK입니다. 모든 항목을 삭제하지만 Maven은 사용해야합니다.

Maven은 어느 것이 활성 상태인지 고려하지 않는다고 생각합니다.


답변

A Different JDK를 사용하여 소스 컴파일을 기반으로 하여 pom.xml 파일 에서 fork를 true로 설정해야 합니다.