네트워크와 CS

[ProblemSolver] 개발 서버 구축하고 build 할 때 생기는 이슈들

Sophie소피 2022. 10. 23. 23:49

안녕하세요. 

스타트업으로 백엔드개발자로 이직한지 2주차입니다. 

현재는 회사에서 사용하고 있는 백엔드 기술을 파악하고 

소스코드를 분석하고 간단히 예제코드를 짜는 작업을 하며 업무 파악 중에 있습니다. 

 

간단히 읊어보자면, 현재 회사에서는 Kotlin Web Server로 스프링부트를 사용하고 있고, 

JPA인 queryDSL을 사용하고 있습니다.  

 

회사에서 사용하고 있는 백엔드 기술 기반으로 개발환경을 구축하고 

코드작업을 하는데 지난 일주일동안 반복되는 에러를 경험하게되는 일 있었는데요. 

그 때 겪은 이슈들을 공유해보고자합니다. 

 

개인적으로 제일 어려운게 개발환경셋팅과 서버구축인것 같습니다. 

 

 

1. 호환되지않는 다른 개발환경의 버전의 충돌 이슈 

java, sdk, jdk , springboot 여러 개발 환경 버전이 다 다르고

호환되는게 다르다보니 build가 안되고 에러를 매번 아침마다 맞이함.

자바17ver JDK17 로 돌렸더니 이러한 에러가 떳다.

Cause: error: invalid source release: 17
FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':compileJava'.
> error: invalid source release: 17

* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.

* Get more help at <https://help.gradle.org>

project Strcture 에서  모듈을17로 변경하고 gradle JVM은 17로 다시 실행하고 기도하니까

제대로 실행이 되는걸 알 수 있다. 

개발환경을 세팅을 하기전에 미리 버전이 잘 호환이 되는버전인지부터 알아보고

빌드를 하기를 추천한다.

 

위에와 같은 비슷한 맥락의 이슈를 하나 더 적어보자면

나는 자바 서버개발자였기 때문에 이번에 이직하면서 처음으로 코틀린을 써보게 되었다. 

 

코틀린으로 프로젝트를 생성하기위해  spring.io. starter 사이트에서

코틀린으로 프로젝트 generate 하고 build.gradle.kt에서

코틀린과 자바가 당연히 호환이 되는 줄 알고

자바랑 코틀린 설치 코드 둘다 불러와서 build를 했는데

절대 안되길래  설마 java 땜에 그런가? 하고 java 삭제하고 다시  build해보니까 

바로 successed build!! 가 나왔다.

계속 faild 나와서 슬펐다...

다음부터는 버전이랑 잘 확인 잘해서 시간을 오래쓰지 말아야겠다 . 

 

자바와 코틀린은 호환이 안된다는 점. 

각기 다른 개발환경 버전들이 프로젝트를 생성할 때 

호환이 되는 버전인지, 호환이 되려면 어떤 버전들을 가져와야하는지 꼭

알아보고 서버환경을 구축하길 바란다. 

 

2.  실행을 시킬 때마다  Postgrasql 연결이 끊기는 이슈 

DBMS: PostgreSQL (ver. 15.0 (Debian 15.0-1.pgdg110+1)) Case sensitivity: plain=lower, delimited=exact Driver: PostgreSQL JDBC Driver (ver. 42.5.0, JDBC4.2) Connection to localhost:5432 refused. Check that the hostname and port are correct and that the postmaster is accepting TCP/IP connections.

 

그 때는 

도커 포스트그래스 실행 명령어을 치면 간단히 해결된다. 

그러면 영원히 .... 끊기지 않을거에요.. 

docker run -it --rm -d \\
--name postgres \\
-e POSTGRES_PASSWORD=sanho0601 \\
-v /Users/greej/Desktop/Docker/postgres:/var/lib/postgresql/data \\
-p 5432:5432 \\
postgres

 

3. Port 8080 is already in use error  

웹브라우저도 켜있지않고 프로젝트 파일도 하나만 켜있는데 

하루에 한번씩 자꾸 8080포트를 이미 사용중이라는 에러가 발생하였다. 

그래서 build파일에서 포트번호를 계속 바꾸고 빌드를 해도 계속 

그 포트를 이미 사용 중이라는 에러가 계속 나왔다. 

그 때는 그냥 터미널로 포트를 다 킬해버렸다

🐳 docker stop / 🐳 docker kill 

지금에서야 예상되는게 있는데 혹시 postmanAPI 테스트한 브라우저가 남아있어서 

그런것이였을까?  무엇이였을까??