이글에서는 이클립스에서 메이븐을 연동하다가 발견하는 오류에 대해서 해결해볼까 합니다. 항상 오류들을 처음 마주치게 되면 당혹스럽기도 하지만 머리가 하얗게 되버려 공부를 하기 싫어지더라고요.
역시 구글링이 최고의 답이지만 모두 영어로 설명되있고, 설명대로 해도 잘 안되는 경우도 생기기 때문에 저 또한 힘든경험을 했습니다. 정말 최선은 제가 해본 방법으로 오류해결이 됬으면 좋겠어요.
■ 메이븐 연동후 pom.xml에서 오류 발견
개발환경설정 → 이클립스〃에 메이븐(Maven) 연동 및 환경설정
오류 발견의 원인은 이렇습니다. 위 링크와 같이 이클립스에 메이븐을 연동하여 게시판 프로젝트를 만들려고 했고, 친구 노트북에서는 오류가 안나던 것이 제컴퓨터로 한번더 복습겸 해볼려고 했더니 이런 어이없는 오류가 생겨버렸습니다.
그래서 당장 Dynamic Web Module 3.1 requires Java 1.7 or newer 라는 오류를 알아보았습니다. 그 이유는 이클립스에서 메이븐 연동시 기존 프로젝트를 메이븐 프로젝트로 Convert 시키게 되는데 거기서 따라 생기는 pom.xml의 코드가 자바 버전이 맞지 않아 그랬습니다.
■ 오류 해결방법
먼저 제 프로젝트 폴더를 보면 M과 J가 붙어있는 메이븐 프로젝트가 생성 되었죠.
하지만 빨간 오류가 떠버려 아무것도 못하는 상황입니다.
절차가 몇가지 있으니 사진을 보며 천천히 따라와 주세요.
1번째 절차) 이클립스 상단메뉴 Windows → Preferences로 들어갑니다.
Java 메뉴중 Compiler를 선택하면 JDK의 버전을 바꿀수 있는데요.
빨간색 네모칸에 있는 1.8을 1.7로 변경해주었습니다.
2번째 절차) 해당 프로젝트 우측 클릭후 Build Path → Configure Build Path를 선택합니다.
그럼 위와 같은 화면이 뜨는데요.
Java Build Path 메뉴의 Libraries로 들어가
JRE System Library를 선택후 Edit 버튼을 클릭합니다.
2-2) JRE System Library를 선택후 Edit로 들어간 화면입니다.
빨간색 네모칸에 있는 버튼을 선택후 Finish를 눌러주세요.
3번째 절차) 아까 2-1에서 종료하지 마시고 Project Facets 메뉴로 들어갑니다.
위에 보시는것처럼 Java버전이 맞지 않는게 보이실텐데요.
오류에서 원하고 있는 버전 1.7을 선택후 OK를 눌러주면 됩니다.
4번째 절차) 메이븐을 연동하고 만들어졌던 pom.xml을 설정할 차례입니다.
여러가지 코드중 아래를 내려보시면
<artifactId>maven-compiler-plugin</artifactId>
부분이 버전을 설정하는 코드이기 때문에 1.6을 1.7로 변경해주셔야 합니다.
■ 오류해결 완료
저처럼 4가지의 절차를 따라 버전을 변경해주셨으면 꼭 해당 프로젝트 우클릭후 Maven의 Update Project를 눌러 변경사항을 반영해주시기 바랍니다. 자동으로 반영이 되면 좋으련만.. 이 절차를 까먹고 왜 에러가 해결이 안되지 하며 짜증내는 저를 보았습니다.
아까 프로젝트 폴더에 빨간색 에러가 떴지만 이제는 노란색으로 경고표시만 뜨게 되었습니다. 이 노란색경고는 JSP파일에 HTML코드때문에 생긴거라 그렇지 이번 포스팅에서 다룬 모듈 버전이 안맞아서 생기는 에러는 전부 해결이 되었습니다.
'프로그래밍 > 오류해결' 카테고리의 다른 글
warning MSB3270: 빌드 중인 프로젝트의 프로세서 아키텍처 참조의 프로세서 아키텍처 "AMD64"이(가) 일치하지 않습니다. (0) | 2017.03.07 |
---|---|
오류해결〃microsoft.vshub.server.httphostx64.exe의 작동이 중지 (0) | 2017.02.09 |
오류해결〃Access violation at address XXX in mudule libmysql.dll (0) | 2017.02.07 |
오류해결〃VCRunTime140.dll 오류 (1) | 2016.06.19 |
오류해결〃C++ stray \ in program (0) | 2016.02.05 |
Oracle〃ORA-12505 오류해결 Listener refused the connection with following error (13) | 2015.12.17 |
MySQL〃(1205) Lock wait timeout exceeded 오류해결 (0) | 2015.12.08 |
오류해결 Sevral ports 8005,8080,8009 required by Tomcat (0) | 2015.09.14 |