저는 스프링 부트 1.5.2를 사용 중이며 프로필을 사용하고 있지만 매우 이상한 것을 발견했습니다. 이 같은항상 같은 프로필을 사용하는 스프링 부트
내 봄 부팅 자원 폴더 : application.yml
spring:
profiles:
active: @[email protected]
CONFIGS
spring:
profiles: dev
datasource:
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://localhost:3306/db1
username: root
password:
server:
port: 8080
응용 프로그램 test.yml
spring:
profiles: test
datasource:
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://localhost:3306/db2
username: root
password:
server:
port: 8081
내 pom.xml은 리소스 부분과 프로필 부분 만 포함합니다. 지금 테스트 프로필를 사용하는 것을 시도하고있다
<!-- profile -->
<profiles>
<profile>
<id>dev</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<build.profile.id>dev</build.profile.id>
<profileActive>dev</profileActive>
</properties>
</profile>
<profile>
<id>test</id>
<properties>
<build.profile.id>test</build.profile.id>
<profileActive>test</profileActive>
</properties>
</profile>
<profile>
<id>prod</id>
<properties>
<build.profile.id>prod</build.profile.id>
<profileActive>prod</profileActive>
</properties>
</profile>
</profiles>
<resources>
<resource>
<directory>src/main/java</directory>
<excludes>
<exclude>**/*.java</exclude>
</excludes>
</resource>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
<includes>
<include>application-${profileActive}.yml</include>
<include>application.yml</include>
<include>templates/*</include>
</includes>
</resource>
</resources>
이 모든 것이 괜찮다는 것을 발견, @[email protected]
이 test
로 대체되었습니다;
mvn clean package -Dmaven.test.skip=true -Ptest
모든 것이 정상인 것처럼 보입니다. 나는 항아리를 실행하려고하면 우리가 지금 test or prod
프로필을 사용하여 application.yml
쇼 있지만
하지만, 항상, dev에 프로필을 사용하여. 내 YML의 CONFIGS 잘못입니다
나도 몰라. 그리고 하나의 application.yml 파일에 모든 프로필 구성을 포함하려고합니다. 그러나 응용 프로그램은 여전히 dev
프로필을 사용합니다. 나는 내 응용 프로그램이 올바른 프로필을 사용할 수 있습니다 실행할 때
는 완전히 내 CONFIGS 모두 잘 작동
spring:
profiles:
active: @[email protected]
---
spring:
profiles: dev
datasource:
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://localhost:3306/db1
username: root
password:
server:
port: 8080
---
spring:
profiles: test
datasource:
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://localhost:3306/db2
username: root
password:
server:
port: 8081
---
spring:
profiles: prod
server:
port: 9000
마지막으로, 나는 특성을 파일을 사용하려고 하나 개 application.yml 파일에 CONFIGS.
그리고 이제 yml 구성 파일의 문제점을 알고 싶습니다.
미리 감사드립니다.
Git 리포지토리에 모든 항목을 함께 넣어서 어떻게 구성했는지 쉽게 볼 수 있습니까? –
방금 정의한 것과 같은 간단한 프로젝트를 만들었습니다. 모든 것은 예상대로 작동합니다. IntelliJ 외부로 항아리를 주려고 할 수 있습니까? – Patrick