tomcat 8.5.41
gradle 프로젝트
The web application [projectName] registered the JDBC driver [com.mysql.jdbc.Driver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.
tomcat에서 war 배포시 위와 같은 오류 메시지와 함께 창이 사라졌다.
다른 사람들은 무시해도 된다고 했든데 난 tomcat 창이 죽어버리니 미쳐버릴 노릇.
해결방법으로 제시된 것은 프로젝트의 lib 폴더에서 드라이버.jar 파일을 제거 후 war를 만들고,
tomat설치폴더/lib/ 에 드라이버.jar 파일을 넣으라는 것이다.
그래서 아래와 같이 해결
1. gradle의 mysql driver에 해당되는 것을 아래와 같이 변경한다.
compile("mysql:mysql-connector-java:5.1.13") => providedCompile("mysql:mysql-connector-java:5.1.13")
providedCompile 은 컴파일할때는 포함하고 war 생성시는 제외한다는 의미
2. gradle을 사용하고 있다면 아마도 드라이버.jar 파일이 없을테니 검색해서 다운로드 한다.
https://dev.mysql.com/downloads/connector/j/5.1.html
3. 다운로드 받은 드라이버.jar 파일을 tomcat 설치 폴더의 lib에 복사해 준다.
tomcat설치 폴더가 C:\apache-tomcat-8.5.41 라면 C:\apache-tomcat-8.5.41\lib 여기에
이렇게 해서 해결.
아.. 모르면 손발이 고생한다더니... ㅜ_ㅜ
Tip1 : tomcat 설치에 대한 정보는 아래 url 참조
https://zetawiki.com/wiki/%EC%9C%88%EB%8F%84%EC%9A%B0_%ED%86%B0%EC%BA%A38_%EC%84%A4%EC%B9%98
Tip2 : tomcat 실행 후 창이 사라질 때
1. cmd 명령어로 창을 연다.
2. 1번창에서 tomcat 설치폴더의 startup.bat와 동일한 폴더로 이동한다.
tomcat설치 폴더가 C:\apache-tomcat-8.5.41 라면 C:\apache-tomcat-8.5.41\bin 여기
3. 2번 위치에서 catalina run 이라고 입력하고 엔터
4. tomcat 창이 사라질 에러까지 표시하고 다시 명령어를 입력하라는 커서가 깜빡이는 상태로 돌아간다.
5. 4번 상태에서 마지막에 표시되는 에러를 확인
* 관련글
[Tomcat] 실행에러 : https://deonggi.tistory.com/76
[Tomcat] java.lang.IllegalArgumentException: The main resource set specified [FOLDER_NAME] ... : https://deonggi.tistory.com/77
[tomcat] war 배포하기, 가상 디렉토리 : https://deonggi.tistory.com/126