sdkman & 스프링 부트 프로젝트 설치
- 강의에서는 Java11에 Spring Boot 2.6.4 버전을 사용하나, 포스팅 기준 Spring Initializr에서는 3.x.x버전과 Java 17부터 지원
- 토비님 강의 통해 알게 된 sdkman 활용해서 프로젝트 생성을 해 봄
1. sdkman 설치
2. JDK 17 설치 및 변경
목록 확인
$ sdk list java
MS에서 제공하는 open-jdk 설치하였다.
JDK 설치 후 변경
$ sdk install java 17.0.9-ms
$ sdk list java
$ sdk use java 17.0.9-ms
$ java -version
openjdk version "17.0.9" 2023-10-17 LTS
OpenJDK Runtime Environment Microsoft-8552009 (build 17.0.9+8-LTS)
OpenJDK 64-Bit Server VM Microsoft-8552009 (build 17.0.9+8-LTS, mixed mode, sharing)
*JDK 11버전을 원하는 경우 위와 동일하게 설치 후 변경하면 된다
3. 프로젝트 생성
Trouble Shooting1. spring shell
java.lang.UnsupportedClassVersionError: org/springframework/boot/loader/JarLauncher has been compiled by a more recent version of the Java Runtime (class file version 61.0), this version of the Java Runtime only recognizes class file versions up to 55.0
61.0이면 Java 17인데 나의 경우 55.0, 즉 자바 11이라서 문제 발생 -> JDK 17로 버전업하여 해결
Trouble Shooting 2. M1 mac "spring command not found"
Mac에서는 Path 설정이 제대로 되어 있지 않아서 생긴 현상으로 확인됨
$ sdk install springboot
$ sdk list sprigboot // 원하는 버전 찾아보기
$ sdk use springboot 3.2.0 // spring boot v3.2.0 설치
터미널에 $ env 입력 후 SPRINGBOOT_HOME 환경변수 확인해서 디렉토리 이동해보니 current라는 심볼릭 링크가 있고 bin 디렉토리에 spring이 있었다. 아무튼 .zshrc에 환경변수를 설정한 후 반영하면 spring 명령어가 동작한다
$ vim ~/.zshrc
# 맨 하단에 spring shell 환경 변수 추가 후 저장
export SPRINGBOOT_HOME=$HOME/.sdkman/candidates/springboot/current/bin
$ source ~/.zshrc
spring boot 프로젝트 생성 위해 spring shell에 들어간다
init 입력 후 tab을 누르면 아래와 같이 옵션 확인하여 사용할 수 있다
$ init [tab]
*스프링부트 프로젝트 생성
$ init -a jdbc -g hello -n jdbc --package-name hello.jdbc -p jar -j 17 -b 3.1.6 -x jdbc -d h2,jdbc,lombok
-x : jdbc 폴더에 프로젝트 생성
-d : dependency, spring shell에서 init --list 통해서 supported dependencies 확인 가능
*인텔리제이 실행 후 JDK 버전 변경으로 인한 에러 발생하면 아래 기술 블로그 참고하여 변경하면 됨
*참고. IntelliJ - 자바 JDK 변경
*참고. build.gradle dependencies
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-jdbc'
compileOnly 'org.projectlombok:lombok'
runtimeOnly 'com.h2database:h2'
annotationProcessor 'org.projectlombok:lombok'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
testCompileOnly 'org.projectlombok:lombok'
testAnnotationProcessor 'org.projectlombok:lombok'
}
*추가. Intellij 에서 lombok 사용할 경우 플러그인 설치 후 아래 설정 활성화 해야 한다
- [Settings > Build, Executio, Deployment > Compiler > Annotation Processors] 이동
- Enable annotation processing 체크/활성화
H2 DataBase 설치
아래 h2 2.1.214 의존성은 서버 접속 위한 클라이언트이고 공식사이트에서 다운받는 것은 서버이다
*공식 사이트 https://www.h2database.com/html/download.html
압축 해제 후 권한을 수정하도록 한다
$ cd bin
$ chmod 755 h2.sh
$ ./h2.sh
Trouble Shooting.
- 사전에 home 디렉토리에 test.mv.db 파일이 있어서 tcp 모드로 접속시 되지 않고 mem 모드로만 접속되는 것을 확인
- test.* 파일을 삭제 후 재접속시 정상적으로 연결 확인
절차
① http://localhost:8082 접속
② JDBC URL에 jdbc:h2:~/test , username = sa 로 로그인
③ 홈 디렉토리에 test.mv.db 파일 생성 확인
④ 로그아웃 후 재로그인 시 JDBC URL을 jdbc:h2:tcp://localhost/~/test 로 하여 접속
'공부 > 기타' 카테고리의 다른 글
[패스트캠퍼스] 완강 후기 - The Red:25개 백엔드 개발 필수 현업 예제를 통해 마스터하는 Java Stream (0) | 2023.12.12 |
---|---|
[GitHub] Copilot 체험판 구독 해지 (individual subscription trial) (0) | 2023.08.04 |
게임 지표 용어 정리 (0) | 2023.04.10 |
[WSL] window10 터미널 꾸미기(oh my zsh, git, docker ..) (0) | 2022.06.25 |
[기타] 노트북 배터리 성능/효율 확인 (0) | 2022.03.12 |
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!