[SPRING] Spring Boot Maven Plugin을 사용할 때 jar 파일에서 Spring Boot 애플리케이션의 자원이 누락된다.
SPRINGSpring Boot Maven Plugin을 사용할 때 jar 파일에서 Spring Boot 애플리케이션의 자원이 누락된다.
Maven v3.3.3에서 Spring-Boot v1.3.0.M5를 사용하고 있습니다. 나는이 명령으로 콘솔에서 Spring Boot (부팅) 응용 프로그램을 실행할 수있었습니다.
mvn 클린 패키지 spring-boot : run
그러나 다른 환경 빌드를 고려하여 pom.xml을 수정해야했습니다. 특히 Maven 프로파일을 사용하여 부팅 응용 프로그램의 등록 정보 파일을 수정합니다. 이제 앞에서 언급 한 명령을 실행하면 부팅 응용 프로그램이 실행되지 않고 다음 예외가 발생합니다.
src / main / resources / config / application.properties에있는 특성 파일을 가지고 있습니다. 그리고이 속성 파일에는 다음과 같은 키 - 값 쌍이 있습니다.
multipart.maxFileSize=${multipart.maxFileSize}
multipart.maxRequestSize=${multipart.maxRequestSize}
그런 다음 내 pom.xml에서 내 빌드는 다음과 같이 정의됩니다.
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
<includes>
<include>**/*.properties</include>
</includes>
</resource>
<resource>
<directory>src/main/resources</directory>
<filtering>false</filtering>
<excludes>
<exclude>**/*.properties</exclude>
</excludes>
</resource>
</resources>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
<profiles>
<!-- development -->
<profile>
<id>env-dev</id>
<activation>
<activeByDefault>true</activeByDefault>
<property>
<name>env</name>
<value>dev</value>
</property>
</activation>
<properties>
<multipart.maxFileSize>250MB</multipart.maxFileSize>
<multipart.maxRequestSize>250MB</multipart.maxRequestSize>
</properties>
</profile>
<!-- staging -->
<profile>
<id>env-stg</id>
<activation>
<activeByDefault>false</activeByDefault>
<property>
<name>env</name>
<value>stg</value>
</property>
</activation>
<properties>
<multipart.maxFileSize>500MB</multipart.maxFileSize>
<multipart.maxRequestSize>500MB</multipart.maxRequestSize>
</properties>
</profile>
<profiles>
mvn clean 패키지를 입력하고 jar 파일 안을 들여다 보면 application.properties 파일이 jar 파일 안에 있다는 것을 알게되었습니다.
그러나 mvn clean 패키지 인 spring-boot : run을 입력하면 applications.properties 파일이 jar 파일에 없습니다. 사실, src / main / resources 아래의 어떤 것도 jar 파일에 들어 가지 않습니다.
명령 줄에서 내 부팅 응용 프로그램을 실행하려면 지금 두 단계를 수행해야하기 때문에이 문제는 다소 귀찮습니다.
내가 뭘 잘못하고 있는지에 대한 아이디어가 있습니까?
해결법
-
==============================
1.문서 mvn spring-boot : run에 설명 된대로 classpath 앞에 src / main / resources를 추가하여 기본적으로 핫 리로드를 지원합니다. 이 기능을 쉽게 끌 수 있습니다.
문서 mvn spring-boot : run에 설명 된대로 classpath 앞에 src / main / resources를 추가하여 기본적으로 핫 리로드를 지원합니다. 이 기능을 쉽게 끌 수 있습니다.
<build> ... <plugins> ... <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <version>1.2.7.RELEASE</version> <configuration> <addResources>false</addResources> </configuration> </plugin> ... </plugins> ... </build>
-
==============================
2.다음을 시도하십시오.
다음을 시도하십시오.
<resources> <resource> <directory>src/main/resources/config</directory> <filtering>true</filtering> <includes> <include>**/*.properties</include> </includes> </resource> </resources>
from https://stackoverflow.com/questions/33197230/resources-in-a-spring-boot-application-are-missing-from-jar-file-when-using-spri by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] 스프링 보안과 함께 여러 개의 보안 컨텍스트를 가질 수 있습니까? (0) | 2019.03.16 |
---|---|
[SPRING] Maven 프로젝트 용 애플리케이션 설정 파일은 어디에 두어야하나요? (0) | 2019.03.16 |
[SPRING] JAXB를 사용하여 XML에서 List를 반환하는 Spring 4 REST 프로그램 (0) | 2019.03.16 |
[SPRING] Hibernate가 다른 데이터 소스를 읽거나 쓰도록 설정하는 방법은 무엇입니까? (0) | 2019.03.16 |
[SPRING] 어노테이션 된 메소드 인수를 사용하여 JSR 303 Bean 유효성 검증을 사용 가능하게하는 표준 방법이 있습니까? (0) | 2019.03.16 |