Java 컴파일러 레벨이 설치된 Java 프로젝트 패싯 버전과 일치하지 않습니다.


202

JRE 버전이 1.6으로 설정된 Eclipse Helios 버전에서 새 동적 프로젝트를 작성했습니다. 구성Maven 프로젝트로 변환을 클릭하여 Maven 기능을 웹 애플리케이션에 추가했습니다 .

이를 추가 한 후 Eclipse 문제점보기에 빌드 오류가 나타납니다.

Java compiler level does not match the version of the installed Java project facet.
Unknown Faceted Project Problem (Java Version Mismatch)

이 오류를 해결하는 방법을 알려주십시오 (JRE 버전을 1.6으로 설정하고 싶습니다).


Bigleftie의 답변은 Maven이 아닌 프로젝트에 도움이되었습니다.
잭 메이슨

일식 사용자는이 읽을 수 journaldev.com/3334/...
아마드 나딤

답변:


166

Eclipse에서 m2e 플러그인을 사용한다고 가정하면 sourcetarget버전을 1.6 으로 지정해야합니다.maven-compiler-plugin . m2e는이 값을 사용하여 프로젝트의 Java 컴파일러 레벨을 결정합니다. POM의 스 니펫은 다음과 같습니다.

<build>
  <plugins>
    <plugin>
      <artifactId>maven-compiler-plugin</artifactId>
        <configuration>
          <source>1.6</source>
          <target>1.6</target>
        </configuration>
    </plugin>
  </plugins>
</build>

또는 1.6과 같은 값으로 maven.compiler.sourcemaven.compiler.target속성을 지정할 수 있습니다 .

<properties>
    <maven.compiler.target>1.6</maven.compiler.target>
    <maven.compiler.source>1.6</maven.compiler.source>
</properties>

60
할 수있는 일 :-프로젝트를 마우스 오른쪽 버튼으로 클릭-속성 클릭-왼쪽 메뉴의 "프로젝트 패싯"옵션 클릭-오른쪽의 패싯 섹션 "Java"에서 "1.6", "1.7"또는 version ...-클릭 Ok
Thiago Pereira

3
@ThiagoPereira 다른 작업 공간에서 다시 가져올 때 이러한 변경 내용이 손실됩니다. m2e 작동 방식에 대해 알아보십시오.
Vineet Reynolds 2016 년

일식 사용자가 읽을 수 journaldev.com/3334/...
아마드 나딤에게

400

프로젝트가 Maven 프로젝트가 아닌 경우 프로젝트를 마우스 오른쪽 단추로 클릭하고 특성을 선택하여 프로젝트 특성 대화 상자를여십시오.

왼쪽에 프로젝트 패싯 항목이 있습니다. 선택하고 목록에서 Java 패싯을 찾은 다음 프로젝트에 사용할 버전을 선택하고 적용하십시오.

프로젝트 사실-Java 버전


19
Project Facet-> Java는 maven-compiler-plugin 이슈 소스 및 대상에 대해 pom.xml에있는 것과 일치해야합니다.
Arye Rosenstein

4
이 문제의 근본 원인은 대답은 @VineetReynolds에 의해 제공되어야한다
제리 티안를

4
이 문제가 있으며 Maven 문제 인 것처럼 들리지만 maven을 사용하지 않고 POM 파일이 없으며 maven 플러그인이 있는지 확실하지 않습니다. 그러나이 오류가 발생합니다. 내 이클립스는 java 1.7을 사용하도록 설정되었지만 내 프로젝트의 패싯 페이지는 1.6 만 선택할 수 있습니다. 내가 뭘 잘못하고 있죠?
rjcarr

7
4) 1) 프로젝트-> Java 빌드 경로-> 라이브러리-> JRE 버전 2) 프로젝트-> Java 컴파일러-> 컴파일러 준수 레벨 3) 프로젝트-> 프로젝트 패싯-> Java-> 버전 4)와 일치해야합니다 (Maven을 사용하는 경우) ) pom.xml-maven-compiler-plugin 이슈 소스 및 대상
bigleftie

1
두 번째 @TK Gospodinov 답변입니다. 내 pom은 Java 버전으로 최신 상태이지만 프로젝트 패싯이 범인이었습니다.
Soman Dubey

18

TK Gospodinov의 답변은 maven 프로젝트에서도 정확합니다. 주의 : Maven을 사용합니다. 치어가 정확하고 여전히이 문제가 발생했습니다. "프로젝트 패싯"으로 이동하여 실제로 1.6을 가리키는 Java 선택을 제거했지만 프로젝트에서 1.7을 사용하고 있습니다. "런타임"탭의 오른쪽에서 jdk1.7 옵션을 확인해야했습니다. "적용"을 누른 후에도 왼쪽에 아무 것도 나타나지 않았습니다. 문제는 사라졌지 만이 답변이 특정 "프로젝트 패싯"관련 문제에서 여전히 중요하다고 생각하는 이유입니다. "프로젝트 패싯"으로 돌아 오면 확인을 누르면 Java가 버전 1.7로 표시되므로 이제 프로젝트를 Java 프로젝트로 "표시"하도록 선택할 수 있습니다. 또한 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 Maven | Update Project를 선택해야했습니다.


6

프로젝트 속성의 프로젝트 패싯 속성에서 Java 버전을 설정 하여이 문제를 해결하고 프로젝트 루트 폴더-> 속성을 ​​마우스 오른쪽 버튼으로 클릭하고 프로젝트 패싯을 검색하고 호환되는 Java 버전을 선택하십시오.

참고로-

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


5

내부 구성 workspace/project/.setting/org.eclipse.wst.common.project.facet.core을 다음 과 같이 변경 했습니다.

installed facet="jst.web" version="2.5"
installed facet="jst.java" version="1.7"

설정을 변경하기 전에 IDE에서 프로젝트를 제거하십시오. 이것은 나를 위해 일했습니다.


이클립스에서 프로젝트를 제거하고 다시 가져 오기하여 문제를 해결했습니다.
Mohammad Faisal

5

나는하여 해결 MyProject를 ---> 자바는 자원 ----> 라이브러리 > J - RE 시스템 라이브러리 [자바 1.6] 의 "이 이동을 클릭 재산 "을 선택 "클래스 경로 컨테이너가" 변경 실행 환경을 자바 -에 1.8 (jdk1.8.0-35) ( 최신 )

jdk를 최신으로 변경


4

프로젝트 패싯-> Java는 maven-compiler-plugin 이슈 소스 및 대상에 대해 pom.xml에있는 것과 일치해야합니다. 이것은 완벽합니다. 설정에서 Porject-Facets의 Eclispe-> Preferences-> Java-> Compiler



3

프로젝트를 마우스 오른쪽 버튼으로 클릭하고 속성을 선택하십시오. 왼쪽에서 Java 컴파일러를 클릭하고 필요한 버전으로 변경하십시오.


2

Eclipse에서 프로젝트를 마우스 오른쪽 단추로 클릭하고 Maven> Update projetc로 이동하십시오. 기다리면 오류가 사라집니다. 이 프로젝트에 대해 이미 Java 버전이 올바르게 구성되어 있습니다.

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


1

일식을 사용하는 경우

Under.settings에서 org.eclipse.wst.common.project.facet.core.xml을 클릭하십시오.

<?xml version="1.0" encoding="UTF-8"?>
<faceted-project>
  <installed facet="java" version="1.7"/>
</faceted-project>

버전을 올바른 버전으로 변경하십시오.

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