복붙노트

[SPRING] Intellij, 스프링 개발 도구 원격, Docker, error 예기치 않은 404 응답 업로드 클래스 파일

SPRING

Intellij, 스프링 개발 도구 원격, Docker, error 예기치 않은 404 응답 업로드 클래스 파일

나는 Spring Boot Dev 도구 (Spring Remote)를 사용하려고 시도하고, 자동으로 다시 컴파일 된 파일을 내 도커 컨테이너에 업로드하려고한다.

나는 계속 받고있다. 예기치 않은 404 응답 업로드 클래스 파일

이것은 나의 도커 파일입니다.

FROM java:8
WORKDIR /first
ADD ./build/libs/first.jar /first/first.jar
EXPOSE 8080
RUN bash -c 'touch /first/first.jar'
ENTRYPOINT ["java","-Dspring.data.mongodb.uri=mongodb://mongodb/micros", "-Djava.security.egd", "-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005","-jar", "first.jar"]

이것이 나의 구성이며 구성입니다.

그리고 이것은 내가받는 오류입니다.

해결법

  1. ==============================

    1.Spring Boot 1.5.0에서, devtools 기본값은 devtools를 fat jar에서 제외하기 위해 변경되었습니다.

    Spring Boot 1.5.0에서, devtools 기본값은 devtools를 fat jar에서 제외하기 위해 변경되었습니다.

    포함 시키려면 excludeDevtools 플래그를 false로 설정해야합니다.

    그러나 devtools 설명서는이를 수행하는 방법을 설명하지 않습니다. 필요한 문서는 실제로 spring-boot-gradle-plugin 문서에 있습니다.

    이를 위해 build.gradle 파일에 다음 코드 스 니펫을 넣을 수 있습니다.

    bootRepackage {
        excludeDevtools = false
    }
    

    불행하게도 이것은 처음에는 버그 였고 Spring Boot 1.5.0에서 아무런 영향을 미치지 않았습니다. 해결 방법은 다음과 같이하는 것입니다.

    springBoot {
        excludeDevtools = false
    }
    

    그러나 bootRepackage 접근법이 스프링 부트 1.5.8에서 작동 함을 확인했습니다.

  2. ==============================

    2.도커를 사용하여 내 애플리케이션 (웹 서비스 + redis 서버 + mongo 서버)을 작성하는 동안 귀하와 동일한 문제가 발생합니다.

    도커를 사용하여 내 애플리케이션 (웹 서비스 + redis 서버 + mongo 서버)을 작성하는 동안 귀하와 동일한 문제가 발생합니다.

    Spring 개발자 도구 문서에서 "완전히 패키지 된 응용 프로그램을 실행할 때 개발자 도구가 자동으로 비활성화됩니다. 응용 프로그램이 java -jar를 사용하여 시작되거나 특수 클래스 로더를 사용하여 시작된 경우"프로덕션 응용 프로그램 "으로 간주됩니다."

    Spring 웹 애플리케이션을 Docker 컨테이너에서 실행하면 개발자 도구가 사용 중지 된 다음 원격으로 재시작 할 수 없다고 생각합니다.

    현재, 호스트 컴퓨터에서 웹 응용 프로그램을 실행하고 코드가 개발 프로세스에서 변경 될 때 웹 응용 프로그램을 재시작 할 수 있도록 컨테이너 내부에 mongo 서버를 설정합니다.

  3. ==============================

    3.제 경우에는 IDE RemoteSpringApplication 구성 인수에 응용 프로그램 컨텍스트를 넣어야했습니다.

    제 경우에는 IDE RemoteSpringApplication 구성 인수에 응용 프로그램 컨텍스트를 넣어야했습니다.

    예를 들어 내 응용 프로그램 루트 컨텍스트는 / virtue이므로 다음과 같이 구성해야합니다.

  4. from https://stackoverflow.com/questions/42759587/intellij-spring-dev-tools-remote-docker-error-unexpected-404-response-uploadi by cc-by-sa and MIT license