Programing

javac1.8 클래스를 찾을 수 없습니다.

lottogame 2020. 10. 7. 07:11
반응형

javac1.8 클래스를 찾을 수 없습니다.


jdk 1.5와 jdk 1.8의 두 개의 jdk를 설치했습니다. 다음 Ant build.xml 구성 파일이 있습니다.

<target name="compileCustomSrc">
    <javac srcdir="src" destdir="build/classes" source="1.5" target="1.5" >
        <classpath>
            <fileset dir="C:/lib/">
                <include name="*.jar" />
            </fileset>
        </classpath>
    </javac>
</target>

jdk1.8을 설치하기 전에 Eclipse에서 호출 된 Ant는 모든 소스를 성공적으로 컴파일했습니다. 하지만 이제 다음과 같은 오류 메시지가 있습니다.

클래스를 찾을 수 없음 : javac1.8

내 JAVA_HOME 및 JRE_HOME :

JAVA_HOME = C : \ Program Files (x86) \ Java \ jdk1.5.0_16
JRE_HOME = C : \ Program Files (x86) \ Java \ jre1.5.0_16

Eclipse JRE에서 1.5로 설정합니다. Java 1.8은 설치 중에 일부 구성을 설정합니까?


클래스를 찾을 수 없음 : javac1.8

이 오류는 Java 8과 호환되지 않는 1.9.0 미만의 Apache Ant 버전에서 발생하는 것으로 알려져 있습니다. Ant <1.9.0 버전을 사용하는 경우 1.9.x 릴리스로 업데이트해야합니다.

다음은 관련 버그 보고서입니다. https://issues.apache.org/bugzilla/show_bug.cgi?id=53347

Btw, Java 8로 컴파일하고 싶지만 실제 Java 8 구문을 컴파일 할 필요가없는 경우 해결 방법 으로 다음 인수를 javac에 전달할 수 있습니다. 그러면 이전 버전의 Ant를 계속 사용할 수 있습니다. :

-Dbuild.compiler=javac1.7

Kristian Holdhus의 답변 (올바른 것으로 표시됨)에 대한 후속으로 Ant javac 작업 에서 compiler속성을 대신 사용할 수 있습니다 . 설정 은 이전 버전 (1.3까지)과 호환 가능해야합니다.compiler="modern"

이렇게하면이라는 Java System 속성을 설정할 필요가 없습니다 build.compiler. 태스크 compiler대한 속성을 명시 적으로 설정하지 않은 경우에만 javacAnt는의 값을 build.compiler폴백으로 사용합니다.


나는 이와 같은 문제가 있었다. JAVA_HOME 및 JRE_HOME이 올바르게 설정되었습니다. 나는 또한 Ant> 1.9를 가졌습니다.

내가 그것을 고치기 위해 한 일은 Eclipse에서 Window-> Preferences로 이동하는 것입니다. Ant를 펼치고 런타임을 선택하십시오. 기본적으로 Classpath 탭이 선택되어 있어야하며 오른쪽에 "Ant Home"이라는 버튼이 있습니다. 이 버튼을 클릭하고 Ant 폴더를 가리키고 있는지 다시 확인하십시오.


JAVA_HOME = C:\Program Files (x86)\Java\jdk1.5.0_16
JRE_HOME = C:\Program Files (x86)\Java\jre1.5.0_16

JAVA_HOME 및 JRE_HOME이 Java 1.5 설치로 설정되어 있으므로 1.8 바이너리 (예 :)를 javac찾을 수 없습니다. Java 1.8 설치로 설정하면 괜찮습니다.


Eclise로 시도했지만 동일한 오류 Class not found : javac1.8

내 시스템에서 ANT 버전을 확인했습니다.

> 개미 버전

2015 년 6 월 29 일에 컴파일 된 Apache Ant (TM) 버전 1.9.6

명령 프롬프트에서 build.xml을 실행하려고 할 때 작동했습니다. 그런 다음 Eclipse에서 이전 버전의 ANT를 참조하고 있는지 확인했습니다.

Eclipse에서 ANT HOME 경로를 간단히 편집했으며 여기에서도 작동했습니다. :)

아래는 Eclipse에서 ANT 경로를 편집해야하는 이미지입니다.

  1. build.xml 파일을 마우스 오른쪽 버튼으로 클릭하십시오.
  2. 다음으로 실행
  3. 외부 도구 구성
  4. 클래스 경로 탭을 선택하십시오.

이제 여기에서 ANT 홈 경로를 변경하십시오.

여기에 이미지 설명 입력


1.9 이하의 Ant 버전과 호환되지 않는 Java 8로 Ant를 1.9.x 릴리스로 업데이트


다른 모든 솔루션을 시도했지만 아무것도 작동하지 않았습니다. 마침내 Eclipse에서 나를 위해 일한 접근 방식을 찾았습니다.

  • ant에서 개미 작업 이름 (예 : "compileCustomSrc")을 마우스 오른쪽 버튼으로 클릭합니다 .
  • 고르다 Run As | External Tool Configurations
  • 그런 다음에 JRE탭을 선택 Separate JRE: Java SE7하거나 자바 (7)라는 이름의 다음 공격 무엇이든 Apply다음과 Run.

개미 작업이 실행되고 올바르게 빌드됩니다!


Update Ant to 1.9.x release as Java 8 in incompatible with Ant versions less tha 1.9 or after the comand put -Dbuild.compiler=javac1.7, see the below:

ant release -Dbuild.compiler=javac1.7


you can download and unzip ANT 1.10 on your system and try to chnage the ANT home in eclipse for your project to 1.10. It should work, Read this for more details. http://devops-badal.blogspot.com/2017/02/class-not-found-javac18-issue-while.html


Sometimes the issue while building the war through ANT is also related to java version miss match in build.properties files as build.XML tries to use the java version mentioned in build.compiler property

check whether build.compiler property is same as intended java version.


플러그인 디렉토리에 최신 버전의 Ant가 포함 된 최신 버전의 eclipse를 다운로드 할 수 있습니다. 그런 다음 Ant jar를 이전 Eclipse의 플러그인 디렉토리에 복사하십시오. Eclipse는 자동으로 최신 버전의 Ant를 가리 킵니다. 이것은 나를 위해 새로운 Mars2와 함께 이전 Kepler에서 작동했습니다.

참고 URL : https://stackoverflow.com/questions/20702626/javac1-8-class-not-found

반응형