H2 콘솔 자체가 실행이 안되는 경우

김세준·2022년 8월 7일
0

error

목록 보기
1/3

여기서 말하는 오류는 스프링 부트와 H2 커넥션 간의 연결 오류를 말하는게 아니라 콘솔 실행 자체가 안됨을 뜻합니다. H2를 실행해도 FAIL 이라는 글자와 함께 콘솔 실행이 안되는 현상입니다.

윈도우 환경에서 이런 현상을 가지신 분들은 이미 8082 포트를 사용하고 있을 확률이 큽니다.

netstat -a -o 명령어를 치시고 8082를 검색하면 위처럼 해당 포트가 살아있습니다. 보통 같으면 taskkill /f /pid 20252 명령어로 해당 포트 할당을 없애면 되지만, 명령어를 입력해도 8082 포트가 다시 살아나는 경우가 있습니다.

아마 집 컴퓨터에 이것저것 다운로드 받으면서 백그라운드로 실행되는 프로그램 일부 중 하나가 8082 포트를 사용하고 있는 모양인데 이 포트와 H2 포트가 겹치면서 H2가 실행되지 않는 현상이죠.

즉 문제를 해결하려면 H2 기본 포트를 수정해주기만 하면 됩니다.

C:\Users\{컴퓨터 사용자 이름} 에 들어가셔서 .h2.server.properties 파일을 수정해야 합니다.

#H2 Server Properties
#Mon Aug 08 06:08:16 KST 2022
11=Generic Derby (Embedded)|org.apache.derby.jdbc.EmbeddedDriver|jdbc\:derby\:test;create\=true|sa
12=Generic H2 (Embedded)|org.h2.Driver|jdbc\:h2\:~/test|sa
13=Generic H2 (Server)|org.h2.Driver|jdbc\:h2\:tcp\://localhost/~/jpashop|sa
0=Generic JNDI Data Source|javax.naming.InitialContext|java\:comp/env/jdbc/Test|sa
1=Generic Firebird Server|org.firebirdsql.jdbc.FBDriver|jdbc\:firebirdsql\:localhost\:c\:/temp/firebird/test|sysdba
2=Generic SQLite|org.sqlite.JDBC|jdbc\:sqlite\:test|sa
3=Generic DB2|COM.ibm.db2.jdbc.net.DB2Driver|jdbc\:db2\://localhost/test|
4=Generic Oracle|oracle.jdbc.driver.OracleDriver|jdbc\:oracle\:thin\:@localhost\:1521\:XE|sa
webSSL=false
5=Generic MS SQL Server 2000|com.microsoft.jdbc.sqlserver.SQLServerDriver|jdbc\:microsoft\:sqlserver\://localhost\:1433;DatabaseName\=sqlexpress|sa
6=Generic MS SQL Server 2005|com.microsoft.sqlserver.jdbc.SQLServerDriver|jdbc\:sqlserver\://localhost;DatabaseName\=test|sa
7=Generic PostgreSQL|org.postgresql.Driver|jdbc\:postgresql\:test|
8=Generic MySQL|com.mysql.jdbc.Driver|jdbc\:mysql\://localhost\:3306/test|
webAllowOthers=true
9=Generic HSQLDB|org.hsqldb.jdbcDriver|jdbc\:hsqldb\:test;hsqldb.default_table_type\=cached|sa
webPort=8083
10=Generic Derby (Server)|org.apache.derby.jdbc.ClientDriver|jdbc\:derby\://localhost\:1527/test;create\=true|sa

프로퍼티스 파일입니다. webPort=8083 으로 수정 후 localhost:8083 으로 접속하시면 정상 작동합니다. 굳이 8083이 아니더라도 남는 포트 아무거나 입력하시면 됩니다.

0개의 댓글