본문 바로가기
기록/Java&Spring&Eclipse

이클립스&자바&톰캣 버젼 업그레이드 중요 포인트 간략 정리

by 자임 2022. 6. 2.

이클립스&자바&톰캣 버젼 업그레이드 하며 중요했던 사실 간략하게 정리

 

<업데이트 목록>
Eclipse Luna 4.4 -> Photon 4.8
Oracle JDK 1.7 -> Open JDK 1.8
Tomcat 7.0 -> Tomcat 8.5

 

 

 

1. 이클립스 Luna에서 자바 1.8, 톰캣 8.0까지 업그레이드 가능
1.1 자바9,10 버젼 or 톰캣 8.5 버젼 이상 사용하고 싶다면 이클립스 버젼을 업그레이드 해야 함

 

 

2. 이클립스 버젼 업그레이드는 자체적으로 Check for Updates 하는 방법과 업그레이드 할 이클립스 zip파일을 다운로드 받아 덮어쓰는 방법이 있다.
그동안 회사에서 유지보수 해오며 바뀐 게 이것저것 많아서 그런지, 자체 업데이트 진행하며 알 수 없는 오류가 많이 발생했기에 덮어쓰는 방식으로 진행함.

 

 

3. 이클립스-자바-톰캣의 비트를 맞춰주지 않으면 실행 오류가 난다. (오류 메시지 : Failed to load the JNI shared library)

3.1 비트를 맞춰줬음에도 실행이 안 된다면 cmd에서 자바 버젼 확인 후 시스템 환경변수 변경.

3.2 이클립스 루나보다 상위 버젼은 자바1.7이 지원되지 않는다. 이클립스 루나에서 자바1.8까지 업그레이드를 진행한 뒤 이클립스 버젼 업그레이드를 해줘야 꼬이는 일이 없음.

 

 

4. 스프링 버젼3에서는 자바 1.8을 사용할 수 없다. 스프링 버젼4로 업그레이드 해야 함.

 

4.1 org.codehaus.jackson을 사용하는 경우, 스프링을 4.0.x 버젼으로 업그레이드 하는 것을 권장한다. 스프링4.1부터는 지원이 중단되었기 때문이다.

4.1부터는 com.fasterxml.jackson으로 변경되었으며, jackson2를 사용한다고 함. org.codehaus.jackson에서 지원하던 게 안 되거나 바뀐 게 많기 때문에 많은 소스 수정을 각오해야 한다.

 

*관련 글

Following are some of the changes identified between Jackson 1.9.x and Jackson 2.9.8
1. org.codehaus.jackson changed to com.fasterxml.jackson
2. org.codehaus.jackson.map changed to com.fasterxml.jackson.databind
3. SerializationConfig.Feature changed and spitted to SerializationFeature,MapperFeature
4. DeSerializationConfig.Feature changed and splitted to DeSerializationFeature,MapperFeature
5. AnnotationIntrospector.Pair changed to AnnotationIntrospectorPair
6. SerializationConfig.withAnnotationIntrospectro(...) changed to SerializationConfig.with(...)
7. ObjectMapper.getSerilizationConfig().addMixInAnnotations(...) changed to ObjectMapper.addMixIn(....)
8. JSonSerialize.include changed to JSonInclude
9. ObjectMapper.readValue(JSonNode,...) changed to OjbjectMapper.readValue(ObjectMapper.treeAsTokens(JSonNode),...)
출처 : https://stackoverflow.com/questions/55896802/upgrade-of-jackson-from-org-codehaus-jackson-to-com-fasterxml-jackson-version-1

https://stackoverflow.com/questions/29606496/spring-4-error-415-unsupported-media-type-error
여기 보면 스프링 버젼 4.0.x로 하라는 조언이 있음.


https://okky.kr/article/387101
'위 문서에 따르면 스프링 4.1 부터는 org.codehaus.jackson(1.8 or 1.9)의 지원을 중단하였습니다.'

 

 

4.2 pom.xml에서 properties를 사용해 버젼을 관리한다면, 해당되는 모든 라이브러리에 해당 버젼이 존재하는지 확인 필수 (https://mvnrepository.com/)

 

 

5. 자바 버젼이 제대로 바뀌었는지 확인할 때 체크하는 곳

5.1 Window > Preferences > Java > Installed JREs 에서 default 지정되어 있는지

5.2 Windows > Preferences > Java > Compiler version 1.8로 변경되었는지

5.2.1 pom.xml에 maven-compiler-plugin 버젼을 컴파일러 버젼에 맞춰 업그레이드 해주지 않으면, 메이븐 업데이트 진행 시 강제 다운그레이드 된다.

5.3 위 사항 확인 후 메이븐 강제 업데이트를 진행하면 각 프로젝트의 빌드패스가 대부분 맞춰진다.

5.4 오류 발생하는 프로젝트 우클릭 > Build Path > library 에서 제대로 적용됐는지 확인

 

 

6. 메이븐 다운로드 시 'Error code 501, HTTPS Required' 오류가 뜬다면 pom.xml에 아래 레포지터리 추가

<repositories>
    <repository>
        <id>mvn2</id>
        <url>https://repo.maven.apache.org/maven2</url>
        <releases>
            <enabled>true</enabled>
        </releases>
        <snapshots>
            <enabled>true</enabled>
        </snapshots>
    </repository>
</repositories>

 

 

7. 메이븐 다운로드 안 되는 오류 발생 시, 프로젝트 우클릭 > Run as > maven clean & maven install -> 전체 maven force update

7.1 maven install 전에 maven test 해보는 것도 좋은 방법. 이때 오류가 발생하면 오류코드를 읽고 수정할 수 있다.