ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Spring Version에 맞는 h2Database 설치
    Spring 2023. 4. 16. 12:05

    현재 내가 개발하고 있는 SpringBoot Version에 맞는 h2database 설치하기

    의존성 관리 툴로는 Gradle을 사용했습니다.

    제가 프로젝트를 실행하려고 하는 build.gradle 파일 입니다.

    plugins {
        id 'java'
        id 'org.springframework.boot' version '2.7.10'
        id 'io.spring.dependency-management' version '1.1.0'
    }
    
    group = 'junseok.snr'
    version = '0.0.1-SNAPSHOT'
    sourceCompatibility = '11'
    
    repositories {
        mavenCentral()
    }
    
    dependencies {
        implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
        implementation 'org.springframework.boot:spring-boot-starter-web'
        runtimeOnly 'com.h2database:h2'
        compileOnly 'org.projectlombok:lombok'
        annotationProcessor 'org.projectlombok:lombok'
        testImplementation 'org.springframework.boot:spring-boot-starter-test'
    }
    
    tasks.named('test') {
        useJUnitPlatform()
    }

    springboot 2.7.10 최신 버전을 설치하면 h2database는 2.1.214를 사용합니다.

    spring-boot-starter 사용시 사용되는 dependency 버전 정보입니다. 아래 Spring.io 사이트에서 확인이 가능합니다.

    https://docs.spring.io/spring-boot/docs/2.7.10/reference/html/dependency-versions.html#appendix.dependency-versions

    그리고, 아래는 실제 주입된 의존성들이 어떤 버전을 가지고 있는지 캡쳐한 이미지입니다.
    확실히 알 수 있죠. spring-boot 2.7.10 에서는 h2database를 2.1.214를 사용한다는 것을요.

    그러면 아래 사이트에서 2.1.214 버전을 다운로드 받습니다.

    https://h2database.com/html/download.html

    zip파일을 다운로드 받은 다음에는 압축을 풀면 됩니다.

    경로 : ~ /h2-2.1.214/bin/
    실행 명령어 : sh h2.sh

    위의 경로에서 실행 명령어로 실행하게 되면 브라우저에 h2console 창이 뜨는 것을 확인할 수 있습니다.
    브라우저의 url 경로는 다음과 같습니다.

    http://192.168.0.100:8082/
    or http://localhost:8082/

    이제 JDBC URL 설정을 하면 되는데요.
    아래와 같이 설정해 주시면 됩니다.

    jdbc:h2:~/demojpa 
    
    여기서 demojpa는 제가 임의로 넣은 이름입니다.
    
    
    'jdbc:h2:~/' <--- 여기까지만 동일하게 써주시고,
    그 다음에는 원하는 이름을 써주시면 됩니다.

    다음은 로그인 직전 캡쳐 이미지입니다.

    이렇게 연결을 하게 되면 home 경로에 demojpa.mv.db 파일이 생성되는 것을 확인할 수 있습니다.

    $ cd ~
    $ ls | grep mv.db
    
    ---
    cd ~ <-- home 경로 이동
    ls | grep mv.db <-- 현재 작업 중인 디렉토리 내의 파일과 디렉토리 목록조회, 
    그 중 mv.db 텍스트가 포함된 목록만 조회

    위의 명령을 입력하시면, demojpa.mv.db 가 생성되어 있는 것을 확인하실 수 있습니다.

    그리고 위와 같이 하게 되면 파일로 직접 접근하기 때문에 파일에 lock이 걸려서 동시 접근이 되지 않는다고 하네요.
    TCP 원격으로 접근하게 되면 이 문제를 해결할 수 있다고 합니다.
    실제 테스트 해보진 않았습니다.

    다음과 같이 접근해 주세요.

    -- 기존
    jdbc:h2:~/demojpa
    
    -- 다음만 추가해 주시면 됩니다.
    tcp://localhost/
    
    -- 변경
    jdbc:h2:tcp://localhost/~/demojpa

    로그인 하기 전 캡쳐한 이미지는 다음과 같습니다.

    아주 간단하고 빠르게
    현재 내가 개발하고 있는 SpringBoot Version에 맞는,
    h2database 설치하기를 마쳤습니다! :)

    댓글

Designed by Tistory.