[Project] Hobbyt - 내 컴퓨터에서 Server 실행하기

Heera1·2023년 1월 11일
0

이번 프로젝트는 AWS를 사용하기 때문에 빌드가 굉장히 괴로울 것 같습니다...
(사실 pre 프로젝트에서도 AWS를 사용했었는데 그땐 휘몰아치듯 지나가서 기억에 남는 게 별로 없다. 이래서 블로깅을 열심히 하라는 건가)

자동 빌드되던 젠킨슨이 너무나도 그립다...



1. Intro

내 컴퓨터에서 서버를 실행하는 이유 : 당연히 프론트와 api 주고 받는 작업을 진행하려고...!

백엔드에서 블로그 CRUD 기능이 완료되셨다고 하셔서 프론트에서도 작업에 들어갔다. 기능 구현을 마치고 테스트를 해 보는데 콘솔에서 404 에러가 떴다.

(1) http-proxy-middleware 설정을 잘 못 됐나?

cors 에러가 아니였기 때문에 패스.

(2) 기능 구현을 잘 못 했나?

여태 프로젝트 하면서 제일 많이 구현한게 post api 요청인데? 이것도 일단 패스!

(3) ... 그러면?

우선 서버 연결이 안 된건지, 기능 구현을 잘 못한 건지 알아보기 위해 포스트맨으로 블로그 게시글 post api 요청 시도를 해 보았다.

결과는 could not requset 였다. server가 열리지 않은 것이다.

나는 여기서 당황했다. pre 프로젝트를 할 때는 api 명세서를 받은 후 포스트맨으로 시험해 볼 때 바로바로 됐었기 때문이다. (추측하기로는 AWS에 빌드를 하신 후 api 명세서를 주셨던 거여서 됐던 거 같다.)

백엔드분들이 AWS에 빌드를 해 주시까지 조금 시간이 걸릴 거 같다고 하셔서 내 컴퓨터에서 server를 실행해서 빠르게 작업에 들어가는 게 좋을 것 같다고 판단했다.

VScode에서도 서버를 열 수 있다길래 VScode 확장 프로그램으로 extension pack for JAVAspring boot extension pack 을 다운받으려고 했는데... ... ... 에러가 뜨면서 다운이 안 됐다. 뭔 에러인지도 모르겠고, 구글링 해도 해결 방법도 마땅히 나오질 않아서 intelliJ를 다운 받았다. (참고)



2. 과정

(1) JDK 11 다운로드

백엔드 컨벤션을 보니 JDK 버전을 11을 맞추신 거 같아서 나도 똑같이 11 버전으로 다운 받았다. (참고)

(2) IntalliJ 다운로드

Community Edition에서 Apple Silicon 용으로 다운 받았다. (M1 Pro 사용중) (참고)

여기까지 진행한 뒤,
server 폴더에서 build.gradle 을 우클릭 -> 다음으로 열기 -> 기타 -> IntelliJ 선택

이렇게하면 IntelliJ가 열리면서 다운 받아야하는 것들이 자동으로 다운로드 된다.
(기억을 더듬어보면 gradle도 다운할래? 라고 안내창이 떠서 다운했던 거 같다)

서버 실행시키는 법

./src/main/java/~Application 파일을 우클릭 -> Run '~Application ... main()' 클릭 (아니면 F5)

  • main 에서 실행해줘야 한다.

이렇게 했을 때 갑자기 에러들이 뿜뿜했다. 대충 아래와 같은 에러들...

Caused by: java.net.ConnectException: Connection refused (Connection refused)

Caused by: org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment]

Caused by: org.hibernate.HibernateException: Access to DialectResolutionInfo cannot be null when 'hibernate.dialect' not set

데이터베이스를 다운 받지 않아서인가? 싶어서 아래도 진행했다.

(3) H2 다운로드

데이터베이스 엔진인 H2를 다운 받았다. (링크)
다운 받고 압축 풀고 따로 실행은 시키지 않았다.

그럼에도 작동이 되지 않아서 ./src/main/resources/application-dev.yml 파일에 h2 부터 datasource 라고 선언된 부분을 지우고 다시 서버를 실행시켰더니 제대로 잘 작동한다!

(4) redis 다운로드 및 실행

로그인 진행 api 작업을 진행하시다가 되지 않는다면(403 에러라던가) redis 를 설치하지 않았기 때문에 토큰이 생성되지 않았기 때문입니다. (서버에서도 토큰을 저장해야합니다) redis를 설치하고, 터미널에서 redis-server 로 서버를 실행시켜주면 됩니다!

profile
웹 개발자

0개의 댓글