잘(?) 진행하고 있던 전자정부프레임워크 실습에서 db연결을 하려는데 오류가 났고 .. 결국 지금 그 프로젝트는 휴(休)프로젝트가 되었음
사실 많은 모듈을 만든 건 아니어서 출혈이 크지는 않지만 에러 해결을 해야하는데 에러가 해결이 되진 않았으니 그저 안타까울 따름...
pom.xml파일을 건드리다 문제가 생겼는지 db연결 dependency를 모두 주석처리했는데도 다시 돌아오지 않았다고 한다🙃
심지어 환경변수도 재설정하고, window > preference > Java > Installed JREs 에서 JRE를 지우고 JDK를 설정하기도 하고(왜냐면 자꾸 콘솔에서 너는 JDK가 아닌 JRE로 이걸 돌리려고 하기 때문에 에러가 발생하는거야!라고 떴기 때문에..), Maven update랑 서버 clean, 프로젝트 clean은 밥먹듯이 했다.
이유도 안 알려주고 그냥 서버가 안된다고 하면 어떡하냐고 ㅠㅠ
여기는 참고(했지만 도움이 안된)한 포스팅
이것도 참고
설상가상으로 maven repository를 백업하고 새롭게 update해봤는데 이 과정에서 뭔가 문제가 생겼는지 유일하게 잘 돌아가던 사수님의 프로젝트도 갑자기 돌아버려서(...) 그걸 다시 원복하느라 꽤나 고생했다.
시도해 본 방법을 여기 정리해보려고 한다..
서버는 켜지는데 404에러가 뜨는 상황이었다.
1. 서버 삭제 및 재추가(didn't work)
2. server path 확인 / `workspace > 프로젝트 > .settings > org.eclipse.wst.common 내 경로 수정` (didn't work) - component파일 경로 원상복구했다.
관련링크 하나 더
3. 프로젝트 properties의 Java 버전, Java Compiler 손보기(It worked!🥳)
3번을 수행한 다음에 프로젝트 클린 했더니 페이지가 열렸다..
사수 프로젝트를 그냥 가져온것이고 commit을 하지 않았으니 사수한테 피해는 안 갈 일이지만.. 잘 돌아가던걸 망쳐버렸다면 스스로 해결해야한다고 생각하기에 이래저래 많이 찾아보았음.
이 과정에서 [절대 URI인 http://java.sun.com/jsp/jstl/core를 JAR에서 찾을 수 없다]는 에러가 뜨기도 했는데, 이 에러는 여기서 해결했다. 해당 JAR파일은 jstl.jar를 말하는 것인데 이게 WEB-INF/lib또는 디렉토리에서 tomcat/lib안에 들어있어야 한다고 하는데, 나는 WEB-INF에는 잘 들어있었음에도 오류가 나서 tomcat에도 넣었더니 잘 됐음.
자식 컨테이너를 시작 중 실패가 떴는데 이건 pom.xml이나 web.xml을 잘못 건드릴 경우(뜨끔) 발생하는 경우가 있다고 했다.
그럴 때 project clean하고 maven update하라고 했는데 여전히 안되었고, pom.xml의 javax.servlet verion을 3.1.0으로 설정해보라고도 하는데 그것도 역시 안됐음
그리고 저 에러와 더불어서 구성요소를 시작하지 못했습니다 에러도 떴는데 이것도 해결이 안됨..
서버 클린도 했는데 안됐음..
그래서 그냥 프로젝트 새로 만들것이다😊...
사수 프로젝트에는 globals.properties 파일이 있었고 인터넷에서도 db연결시 이 파일을 어쩌고저쩌고 하라고 했는데 내 project파일에는 이게 없었다. 그래서 아니 뭐지? 했는데 알고보니 egov 공통컴포넌트라는 게 있어서, 그걸 다운받은 다음 그 내부 파일을 workspace의 프로젝트파일에 넣으면 알아서 globals.properties라든지 이런게 설정이 되는 것이었다.
그래서 그런 방법으로도 프로젝트를 하나 만들었는데 이녀석도 invalid LOC header(bad signature)에러라든지 .. 여러 에러를 뱉으면서 서버구동을 시켜주지 않았고 .. 소장님도 거긴 쓸모없는 파일이 많을 수 있고 따라서 에러가 발생할 소지도 많다고 하셔서 그냥 공통컴포넌트 이용하지 않고 새 프로젝트 만들어서.. 손 안 댄 깨끗한 pom.xml로 어떻게든 db연결을 해보려고 한다.
(제발!)