저와 같이 앱을 구성한 다른 사람들이 제가 겪은 일로부터 혜택을 얻도록 ...
위의 솔루션 중 어느 것도 ./config
내 프로젝트 기반 바로 아래에 2 개의 파일 이있는 디렉토리 가 있기 때문에 효과가 없었습니다 .
application.properties
application-dev.properties
In application.properties
I have :
spring.profiles.active = dev # set my default profile to 'dev'
에서 application-dev.properties
I 있습니다 :
server_host = localhost
server_port = 8080
이것은 CLI에서 내 fat jar를 실행할 때 *.properties
파일이 ./config
dir 에서 읽히고 모든 것이 좋습니다.
음, 이러한 속성 파일 은 내 Spock 사양 의 webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT
설정을 완전히 무시하는 것으로 나타났습니다 @SpringBootTest
. 내가 무엇을 시도 했든간에 Spring 으로 webEnvironment
설정 하더라도 RANDOM_PORT
항상 포트 8080 (또는 내 ./config/*.properties
파일에 설정 한 값)에서 포함 된 Tomcat 컨테이너를 시작합니다 .
내가 이것을 극복 할 수 있는 유일한 방법 은 내 Spock 통합 사양 properties = "server_port=0"
의 @SpringBootTest
주석에 명시 적을 추가하는 것입니다 .
@SpringBootTest (webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, properties = "server_port=0")
그런 다음 Spring은 마침내 임의의 포트에서 Tomcat을 스핀 업하기 시작했습니다. IMHO 이것은 Spring 테스트 프레임 워크 버그이지만 그들 자신의 의견을 가질 것이라고 확신합니다.
이것이 누군가를 도왔기를 바랍니다.