웹사이트 검색

[수정됨] Eclipse - Java 컴파일러 레벨이 설치된 Java 프로젝트 패싯의 버전과 일치하지 않음


최근에 Eclipse에서 Maven 프로젝트를 가져오고 빌드 경로 라이브러리를 Java 1.7에서 작동하도록 변경했습니다. 그 후 Eclipse는 어떤 파일에도 오류가 표시되지 않았지만 프로젝트에서 오류를 표시했습니다.

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

Java 컴파일러 수준에 대한 수정이 설치된 Java 프로젝트 패싯의 버전과 일치하지 않음

<?xml version="1.0" encoding="UTF-8"?>
<faceted-project>
  <fixed facet="wst.jsdt.web"/>
  <installed facet="jst.web" version="2.3"/>
  <installed facet="wst.jsdt.web" version="1.0"/>
  <installed facet="java" version="1.5"/>
</faceted-project>

아래로 수정했습니다.

<?xml version="1.0" encoding="UTF-8"?>
<faceted-project>
  <fixed facet="wst.jsdt.web"/>
  <installed facet="jst.web" version="2.3"/>
  <installed facet="wst.jsdt.web" version="1.0"/>
  <installed facet="java" version="1.7"/>
</faceted-project>

프로젝트를 새로 고친 후 오류가 사라졌습니다.

Java 컴파일러 레벨에 대한 보너스 팁이 설치된 Java 프로젝트 패싯의 버전과 일치하지 않습니다.

터미널에서 컴파일러 준수 수준을 변경하려면 org.eclipse.jdt.core.prefs 파일에서 아래 속성을 편집해야 합니다.

org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
org.eclipse.jdt.core.compiler.compliance=1.7
org.eclipse.jdt.core.compiler.source=1.7

프로젝트의 .classpath 파일에서도 라이브러리를 변경할 수 있지만 쉽지 않고 라이브러리에 대해 구성된 이름에 따라 다릅니다. 예를 들어 내 프로젝트 클래스 경로 파일에서 JRE 항목은 다음과 같습니다. 아래에.

<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.launching.macosx.MacOSXType/Home">
	<attributes>
		<attribute name="owner.project.facets" value="java"/>
	</attributes>
</classpathentry>

프로젝트 측면에서 이 문제에 직면한 사람에게 도움이 되기를 바랍니다.