실습용 database를 설치해야 한다.
mysql보다도 가볍고, GUI를 사용할 수 있어 쉬운 h2를 설치하였다.
다운로드: https://www.h2database.com/html/download.html
다운받아 압축 풀고 ~/h2/bin 경로에서 ./h2.sh를 실행해주면 끝난다.
문제점
그러나 다들 알다시피 나는 windows10에서 wsl2 환경에서 개발하고 있다.
h2는 browser기반이므로 다음과 같은 에러가 발생한다.
ubuntu@ubuntu:~/workspace/h2/bin$ ./h2.sh
Failed to start a browser to open the URL http://127.0.1.1:8082?key=ebb7ac9b1b390f9763da7e589ba8c233acfd8a1f6a3f513ff4f623077c0a5814: Browser detection failed, and java property 'h2.browser' and environment variable BROWSER are not set to a browser executable.
해결방법
에러 메세지에서 친절하게 java property 'h2.browser' and environment variable BROWSER 가 문제라고 나온다.
step 1)
h2.sh 를 열어 -Dh2.browser 옵션을 추가한다.
#!/bin/sh
dir=$(dirname "$0")
java -Dh2.browser=/mnt/c/Program\ Files/Google/Chrome/Application/chrome.exe -cp "$dir/h2-1.4.199.jar:$H2DRIVERS:$CLASSPATH" org.h2.tools.Console "$@"
step 2)
~/.bashrc 를 열어 BROWSER 경로를 재정의한다.
alias BROWSER="/mnt/c/Program\ Files/Google/Chrome/Application/chrome.exe"
파일 변경 후 source ~/.bashrc 를 잊지말자.
여기서 또 뭔가 안된다면 [wsl2] source .bashrc 에러을 참고하도록 한다.
step 3)
url path를 변경한다.
이건 더 간단한 방법이 있을 것이지만 일단 해결방법이니 공유하려 한다.
이제 다시 ./h2.sh 를 하면 브라우저가 띄워질 것이다.
그런데 127.0.1.1로 접속을 못한다. wsl2환경에서 ifconfig를 해보면 아마 eth0의 inet에 매핑된 것이 원인으로 보인다.
살포시 url ip를 localhost로 변경한다.
eth0의 inet ip로 변경해도 되는데 그럼 ./h2.sh -webAllowOthers 로 옵션을 추가해야하므로 귀찮다.
결과
이제 잘 접속된다.
'develop > etc' 카테고리의 다른 글
[vscode] java language server requires a JDK 11+ to launch itself (0) | 2022.02.14 |
---|---|
개발자 포트폴리오 잘 만들기 (0) | 2021.11.03 |
[wsl2] source .bashrc 에러 (0) | 2021.09.25 |
windows에서 vmware로 ubuntu18.04 설치하기 (0) | 2021.09.21 |
[vscode] 단축키 (0) | 2021.09.21 |