복붙노트

[SPRING] 스프링 부트 메이븐 플러그인 - BOOT-INF 디렉토리 없음

SPRING

스프링 부트 메이븐 플러그인 - BOOT-INF 디렉토리 없음

spring-boot-maven-plugin의 버전 1.3.8.RELEASE와 버전 1.4.0.RELEASE 사이에는 생성 된 패키지 구조가 변경되었습니다 (uber jar 파일을 추출하는 경우) 1.3.8.RELEASE com, lib, META-INF 및 org 디렉토리 1.4.0.RELEASE에는 BOOT-INF, META-INF 및 org 디렉토리가 있습니다. 기본적으로 1.4.0.RELEASE부터 - 모든 클래스와 라이브러리는 BOOT-INF 디렉토리에 있습니다. 이것 때문에 - Amazon Lambda에서 Spring Boot 프로젝트를 실행하려고하면 새로운 Spring Boot Uber jar 구조체를 읽을 수 없기 때문에 jar 파일을 찾을 수 없다고합니다.

제 질문은 - 최신 버전의 Spring Boot Maven Plugin에서 uber jar 파일을 1.3.9 버전과 같은 구조로 생성 할 수 있습니까?

나는 maven-shade-plugin을 시도했는데 다른 문제로 이어진다.

어떤 도움이라도 대단히 감사합니다.

감사 Damien

해결법

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

    1.해결책은 pom.xml 파일에 플러그인의 MODULE 레이아웃을 추가하는 것이 었습니다.

    해결책은 pom.xml 파일에 플러그인의 MODULE 레이아웃을 추가하는 것이 었습니다.

    <plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
        <configuration>
            <layout>MODULE</layout>
        </configuration>
        <executions>
            <execution>
                <goals>
                    <goal>repackage</goal>
                </goals>
            </execution>
        </executions>
    </plugin>
    
  2. from https://stackoverflow.com/questions/43124852/spring-boot-maven-plugin-no-boot-inf-directory by cc-by-sa and MIT license