inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

스프링은 어려워! 코틀린과 Ktor로 백엔드/서버개발 기초정복 (커피주문시스템 개발)

학습한 내용 짚어보기

jar 배포 시 frontend 페이지에 접속이 안되는 이슈

해결된 질문

372

m2woo

작성한 질문수 1

1

./gradlew buildFatJar 로 빌드한 후에

jar를 실행해보니 frontend 페이지가 접속이 안되는 이슈가 있었습니다 (윈도우, 맥 환경 동일).

다른 분들은 정상적으로 실행되는데 제 환경이 잘못되어서 그런지도 모르겠습니다.

 

Routing.kt에 react 설정부분을 아래와 같이 변경하니 정상적으로 동작합니다. frontend 폴더는 ./resources 폴더로 이동시켰습니다.

 

어떤 문제때문에 발생한 이슈인지 강사님이나 고수님들이 조언 주시면 감사하겠습니다. 😄

[기존 코드]

singlePageApplication {
    react("frontend")
}

[변경 코드]

staticResources("/", "frontend") {
            default("index.html")
            preCompressed(CompressedFileType.GZIP)
        }

kotlin ktor koin kotlin-exposed

답변 2

1

채채코드

안녕하세요. 정말 좋은 질문을 주셔서 저도 하나 배워갑니다!

API 서버로만 사용했다보니 개념적으로 놓친 부분이 생겼네요.😅

 

결론적으로

useResources 옵션을 주고 resources 하위에 frontend 폴더를 이동시켜야 jar 에 포함되는게 맞습니다.

jar 에 관련 파일이 포함되었는지는 아래 명령어로 확인하실 수 있어요.

$ jar tf build/libs/zcafe-all.jar | grep frontend

image

반대로 강의 처럼 resource 옵션을 주지 않으면 jar에 포함되지 않습니다.

🙋‍♂ 그럼 왜 강의에서 resources = false 인데 화면이 정상응답했는지? 는, jar 를 실행한 환경에서 ./frontend 경로에 index.html 파일이 있었기 때문이었어요. (프로젝트 root 경로에서 실행했었죠)

jar 를 다른 위치로 옮겨서 배포를 하고자 할 때, resource = false 로 하고자 하면 소스에 명시한 경로에 프론트 파일을 두어야 해요.

 

서버 소스 배포주기와 무관하게 화면 소스만 별도로 관리하고 싶을때 유용한 옵션이 되겠네요!

image

1

m2woo

useResources = true 로 설정하니, jar 실행시 연결됩니다.

동일한 문제가 있으신 분들은 참고하세요. :)

singlePageApplication {

useResources = true

react("frontend")

}

kafka 이벤트 발행 실패 시 at-least-once를 보장하는 방법이 궁금합니다.

1

45

1

domain에 @Entity 와 Repository를 함께 둔 이유가 궁금합니다

1

31

1

혹시 강의 내용하면서 실습했던 것을 개인 깃에다 올려도 될까요?

0

19

1

아무도 모르게 책 내시면 모르실 줄 알고!!

1

43

2

Jib 이미지 빌드에서 docker credential 관련으로 이슈가 있다면

1

60

1

스크립트에 대해 질문 있습니다.

1

54

1

같은 사용자가 연속된 중복 호출할 경우 어떻게 되는지 궁금합니다!

2

61

1

예전 로드맵과 현재 강의 순서

0

43

1

소스 코드 좀 올려주세요.

0

50

2

개념과 격벽에 대한 이해를 팀과 공유하고 합의하는 방법

1

87

2

JWT토큰 발급 시, subject 값을 다양하게 넣어서 여러 개의 토큰을 만드는 이유

0

53

2

실무 내용 문의드려요

0

55

2

페이징 처리에서 offset/limit에 대한 질문

1

90

1

안녕하세요 질문있습니다.

0

74

2

34:22분 처럼 런타임 의존성 예외파악

0

92

1

Repository의 추상화

0

74

1

jar 파일 실행 오류

0

136

1

코틀린 코드 보기

0

157

1

checkout 해도 branch가 안 바뀌네요

1

181

1

자바 LocalDateTime 직렬화 관련 질문

1

320

3

어떻게 ktor 실행시 같은 포트로 리액트 서버가 뜰 수가 있나요?

1

314

2

패키지 폴더 domain이 없네요.

1

338

2

혹시 kotlinx-datetime 라이브러리를 사용하지 않으신 이유가 있으신가요?

1

635

2

첫번째 Ktor 서버 띄워보기 전에 강의 하나가 빠져있는것 같습니다.

1

328

2