복붙노트

[SPRING] 메인 클래스를 찾을 수 없습니다 : bootRepackage

SPRING

메인 클래스를 찾을 수 없습니다 : bootRepackage

내 gradle 빌드에 문제가있어. 나는 Spring 웹 사이트 (https://spring.io/guides/gs/rest-service/)에 의해 제안 된 표준을 사용하지만, 내가 gradle 빌드를 사용하려고 할 때, 나는이 오류를 가지고있다 :

그것은이 gradle을 위해 일하지 않습니다. 그러나 다른 하나 (내가 학교에있을 때 찍었습니다)를 사용할 때 그것은 완벽하게 작동합니다.

해결법

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

    1.두 가지 가능성이있다.

    두 가지 가능성이있다.

    나는 그것이 1이라고 확신한다.

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

    2.나는 또한이 문제를 가지고있다, 나는 여기서 문제를 해결했다.

    나는 또한이 문제를 가지고있다, 나는 여기서 문제를 해결했다.

    org.springframework.boot를 사용하십시오 : org.springframework.boot 대신 spring-boot-starter : 프로젝트가 다른 프로젝트에서 사용되는 모듈 일 경우 spring-boot-starter-web.

    또는 gradle의 기본 클래스를 설정합니다.

    mainClassName = 'your.package.MainClass'
    

    또는 bootRepackage를 비활성화하십시오.

    bootRepackage {
        enabled = false
    }
    
  3. ==============================

    3.프로젝트에 주요 메소드가 없습니다 (그렇지 않으면 플러그인이 플러그인을 찾을 것입니다). main 메소드에는 매우 특정한 시그니처가 있으므로 public static void main (String [] args)을 가지고 있는지 확인하십시오.

    프로젝트에 주요 메소드가 없습니다 (그렇지 않으면 플러그인이 플러그인을 찾을 것입니다). main 메소드에는 매우 특정한 시그니처가 있으므로 public static void main (String [] args)을 가지고 있는지 확인하십시오.

  4. ==============================

    4.기본 클래스가 build.gradle 파일이 속한 현재 프로젝트에 정의되어 있지 않지만 스프린트 통합 테스트와 같은 일부 목적으로 시작하려는 경우. 다음과 같이하십시오.

    기본 클래스가 build.gradle 파일이 속한 현재 프로젝트에 정의되어 있지 않지만 스프린트 통합 테스트와 같은 일부 목적으로 시작하려는 경우. 다음과 같이하십시오.

    첨가

    bootRepackage {
        mainClass = 'your.app.package.Application'
    }
    

    플러그인을로드해야하기 때문에 build.gradle (플러그인 적용 후 : 'spring-boot')에서 문제를 수정하십시오.

  5. ==============================

    5.나는 이것이 아주 오래된 게시물이라는 것을 알고있다. 하지만 첫 번째 스프링 부트 응용 프로그램 (https://spring.io/guides/gs/spring-boot/#scratch)을 만들려고 할 때이 문제를 보았습니다. 자습서에서 언급 한 pom.xml의 위치가 잘못되었습니다. src 폴더 외부에 배치해야합니다. 최종적인 디렉토리 구조는 다음과 같습니다.     /workspace/src/main/java/hello/HelloController.java     /workspace/src/main/java/hello/Application.java     /workspace/pom.xml

    나는 이것이 아주 오래된 게시물이라는 것을 알고있다. 하지만 첫 번째 스프링 부트 응용 프로그램 (https://spring.io/guides/gs/spring-boot/#scratch)을 만들려고 할 때이 문제를 보았습니다. 자습서에서 언급 한 pom.xml의 위치가 잘못되었습니다. src 폴더 외부에 배치해야합니다. 최종적인 디렉토리 구조는 다음과 같습니다.     /workspace/src/main/java/hello/HelloController.java     /workspace/src/main/java/hello/Application.java     /workspace/pom.xml

  6. ==============================

    6.인코딩을 지정하여 해결했습니다. 아마 그것은 IDE에 코드를 작성했기 때문일 것입니다.

    인코딩을 지정하여 해결했습니다. 아마 그것은 IDE에 코드를 작성했기 때문일 것입니다.

    java -Dfile.encoding=UTF-8 -jar build <filename>.jar
    
  7. ==============================

    7.이것은 나에게도 일어났다.

    이것은 나에게도 일어났다.

    내가 build.gradle 파일의 위치에 의해 혼란스러워했다 : 그것은 src / main / java / hello에 위치해야한다고 생각했는데, 이는이 서브 디렉토리 구조를 생성하기위한 지시 직후에 언급 되었기 때문이다.

    그것은 src 폴더를 포함하는 루트 폴더에 위치해야합니다. 일단 내가 그랬고 루트 폴더에서 "gradle build"라고 불렀고 "./gradlew build"가 아니라면 빌드가 성공했다.

    나는 gradle에 대한 표준 설치를 수행하지 않았고, 바이너리를 다운로드했다. 아마도 이것이 "./gradlew 빌드"가 실패한 이유 일 것이다.

  8. from https://stackoverflow.com/questions/22528114/unable-to-find-main-class-bootrepackage by cc-by-sa and MIT license