본문 바로가기
JAVA

Java compiler level does not match the version of the installed Java

by helloissue 2021. 8. 22.

메이븐 설정과 적용을 하던 중에 `Java compiler level does not match the version of the installed Java project facet`라는 컴파일러의 충돌 에러를 발견하였다.  자바버전이 맞지 않는다. 나는 자바를 2개 이상 설치를 하지 않았으니 , 설정 파일만을 건들면 될 거 같았다. 그래서 C에서부터 자바 버전에 관련된 모든 설정을 찾아가 전부 바꾸기로 마음먹고 전부 찾아보았다. 어떻게 해서 해결했는지 저와같이 아래 번호대로 쭉 따라오셔서 확인 및 적용하시면 해결이 가능합니다.

1. 내 컴퓨터의 자바버전 확인

 

시작-실행-cmd후 내 컴퓨터의 자바 버전이 몇으로 있는지 확인한다. 1.8로 확인이 된다. 여기서 특이한 점은 예전에는 전부 '1.8.0_301'  전부 마이너 버전까지 맞췄던 기억이 있었는데 이번에는 마이너 버전까지 명시하면 적용이 안 되고, 왜 그런지를 찾기에는 시간이 걸릴 거 같아 그냥 1.8 로 진행을 하였다.

C:\Users\user>java -version
java version "1.8.0_301"
Java(TM) SE Runtime Environment (build 1.8.0_301-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.301-b09, mixed mode)

 

2. 메이븐 설정 파일 `pom.xml`의 자바버전 확인 ( 위치: /메이븐 프로젝트/pom.xml )

 


메이븐 설정 파일내용이 많아 자바 버전 있는 곳만 찾아서 넣었다. 아래처럼 소스와 타겟의 버전을 1.8로 적었다. 다른 것까지 전부 똑같이 하셔서 안 된다는 분이 있어서 글을 적습니다. 1.8 부분만 참고하시고 다른 곳은 건들면 안 됩니다. 숫자 1.8 부분만 여러분의 자바 버전에 맞게 하셔야 합니다. 1.6이라면 1.6으로 

<project>
    <build>
        <finalName>YourProjectName</finalName>
        <plugins>
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                    <version>3.5.1</version>
                        <configuration>
                            <source>1.8</source>
                            <target>1.8</target>
                        </configuration>
            </plugin>
        </plugins>
    </build>
</project>

3. 메이븐 코어 파일 자바 버전 확인

 

XML 파일이며 여기에서 java 버전을 1.8 수정하였다.

 ( 위치 : 메이븐 프로젝트\.settings\org.eclipse.wst.common.project.facet.core.xml )

<?xml version="1.0" encoding="UTF-8"?>
<faceted-project>
  <runtime name="Apache Tomcat v8.0"/>
  <fixed facet="wst.jsdt.web"/>
  <installed facet="java" version="1.8"/>
  <installed facet="jst.web" version="3.1"/>
  <installed facet="wst.jsdt.web" version="1.0"/>
</faceted-project>

 

4. properties 자바 버전 확인


메이븐 프로젝트에서 마우스 오른쪽을 눌러 제일 하단의 Properties를 누르면 이렇게 project facets를 수정하는 화면이 나온다. 이후 java를 찾아 같은 버전인 1.8로 확인한 뒤 적용을 눌렀다.

메이븐 프로퍼티설정의 자바버전 변경후 적용
메이븐 프로퍼티설정의 자바버전 변경후 적용

모두 적용 후 메이븐 빌드 업데이트 프로젝트를 누른 뒤 확인을 하면 해당 문구가 사라짐을 확인할 수 있었다.

많은 도움이 되셨기를 바랍니다.

댓글