Skip to content

자동 리로드

서버 재시작
Ktor 서버 애플리케이션 실행 방법을 알아보세요.
은 개발 중에 시간이 걸릴 수 있습니다. Ktor는 자동 리로드를 사용하여 이러한 제한을 극복할 수 있도록 해줍니다. 자동 리로드는 코드 변경 시 애플리케이션 클래스를 다시 로드하여 빠른 피드백 루프를 제공합니다. 자동 리로드를 사용하려면 다음 단계를 따르세요:

개발 모드 활성화

자동 리로드를 사용하려면 먼저 개발 모드를 활성화해야 합니다. 이는

서버를 생성하고 실행하는
애플리케이션 배포 요구 사항에 따라 서버를 생성하는 방법을 알아보세요.
방식에 따라 달라집니다:

  • EngineMain을 사용하여 서버를 실행하는 경우, 구성 파일에서 개발 모드를 활성화하세요.

  • embeddedServer를 사용하여 서버를 실행하는 경우, io.ktor.development 시스템 속성을 사용할 수 있습니다.

개발 모드가 활성화되면 Ktor는 작업 디렉터리에서 출력 파일을 자동으로 감시합니다. 필요한 경우, 감시 경로를 지정하여 감시할 폴더 집합을 좁힐 수 있습니다.

감시 경로 구성

개발 모드를 활성화하면 Ktor는 작업 디렉터리에서 출력 파일을 감시하기 시작합니다. 예를 들어, Gradle로 빌드된 ktor-sample 프로젝트의 경우 다음 폴더들이 감시됩니다:

감시 경로는 감시할 폴더 집합을 좁힐 수 있도록 해줍니다. 이를 위해 감시 경로의 일부를 지정할 수 있습니다. 예를 들어, ktor-sample/build/classes 하위 폴더의 변경 사항을 모니터링하려면 classes를 감시 경로로 전달하세요. 서버를 실행하는 방식에 따라 다음 방법으로 감시 경로를 지정할 수 있습니다:

  • application.conf 또는 application.yaml 파일에서 watch 옵션을 지정하세요:

    yaml

    여러 감시 경로를 지정할 수도 있습니다. 예를 들어:

    yaml

    전체 예시는 다음에서 찾을 수 있습니다: autoreload-engine-main.

  • embeddedServer를 사용하는 경우, watchPaths 매개변수로 감시 경로를 전달하세요:

    Kotlin

    전체 예시는 다음을 참조하세요: autoreload-embedded-server .

변경 시 재컴파일

자동 리로드는 출력 파일의 변경 사항을 감지하므로, 프로젝트를 재빌드해야 합니다. IntelliJ IDEA에서 수동으로 이 작업을 수행하거나, Gradle에서 -t 명령줄 옵션을 사용하여 지속적인 빌드 실행을 활성화할 수 있습니다.

  • IntelliJ IDEA에서 프로젝트를 수동으로 재빌드하려면, 메인 메뉴에서 빌드 | 프로젝트 재빌드를 선택하세요.

  • Gradle을 사용하여 프로젝트를 자동으로 재빌드하려면, 터미널에서 -t 옵션과 함께 build 작업을 실행할 수 있습니다:

    TIP

    프로젝트 리로드 시 테스트 실행을 건너뛰려면, build 작업에 -x 옵션을 전달할 수 있습니다: