Reputation: 33
I'm trying to build a spring boot application to a graalvm native image. I do set the active profiles at build time in the processAot tasks as shown below
tasks.processAot {
jvmArgs("-Dspring.profiles.active=local")
}
The build is successful and when I run the generated jar with -Dspring.aot.enabled=true
VM arg I can see that the application-local.yaml is loaded and added to spring boot property sources by enabling trace logs for ConfigDataEnvironment class which prints the below logs.
2025-02-01T16:23:05.717+05:30 TRACE 15612 --- [fantasy-football-web-api] [ main] [,]o.s.b.c.config.ConfigDataEnvironment : Building config data environment contributors
2025-02-01T16:23:05.717+05:30 TRACE 15612 --- [fantasy-football-web-api] [ main] [,]o.s.b.c.config.ConfigDataEnvironment : Creating wrapped config data contributor for 'configurationProperties'
2025-02-01T16:23:05.717+05:30 TRACE 15612 --- [fantasy-football-web-api] [ main] [,]o.s.b.c.config.ConfigDataEnvironment : Creating wrapped config data contributor for 'systemProperties'
2025-02-01T16:23:05.717+05:30 TRACE 15612 --- [fantasy-football-web-api] [ main] [,]o.s.b.c.config.ConfigDataEnvironment : Creating wrapped config data contributor for 'systemEnvironment'
2025-02-01T16:23:05.717+05:30 TRACE 15612 --- [fantasy-football-web-api] [ main] [,]o.s.b.c.config.ConfigDataEnvironment : Creating wrapped config data contributor for 'random'
2025-02-01T16:23:05.718+05:30 TRACE 15612 --- [fantasy-football-web-api] [ main] [,]o.s.b.c.config.ConfigDataEnvironment : Creating wrapped config data contributor for 'applicationInfo'
2025-02-01T16:23:05.718+05:30 TRACE 15612 --- [fantasy-football-web-api] [ main] [,]o.s.b.c.config.ConfigDataEnvironment : Adding initial config data import from location 'optional:file:./;optional:file:./config/;optional:file:./config/*/'
2025-02-01T16:23:05.718+05:30 TRACE 15612 --- [fantasy-football-web-api] [ main] [,]o.s.b.c.config.ConfigDataEnvironment : Adding initial config data import from location 'optional:classpath:/;optional:classpath:/config/'
2025-02-01T16:23:05.718+05:30 TRACE 15612 --- [fantasy-football-web-api] [ main] [,]o.s.b.c.config.ConfigDataEnvironment : Processing initial config data environment contributors without activation context
2025-02-01T16:23:05.718+05:30 TRACE 15612 --- [fantasy-football-web-api] [ main] [,]o.s.b.c.config.ConfigDataEnvironment : Creating config data activation context from initial contributions
2025-02-01T16:23:05.718+05:30 TRACE 15612 --- [fantasy-football-web-api] [ main] [,]o.s.b.c.config.ConfigDataEnvironment : Processing config data environment contributors with initial activation context
2025-02-01T16:23:05.718+05:30 TRACE 15612 --- [fantasy-football-web-api] [ main] [,]o.s.b.c.config.ConfigDataEnvironment : Deducing profiles from current config data environment contributors
2025-02-01T16:23:05.718+05:30 TRACE 15612 --- [fantasy-football-web-api] [ main] [,]o.s.b.c.config.ConfigDataEnvironment : Processing config data environment contributors with profile activation context
2025-02-01T16:23:05.718+05:30 TRACE 15612 --- [fantasy-football-web-api] [ main] [,]o.s.b.c.config.ConfigDataEnvironment : Applying config data environment contributions
2025-02-01T16:23:05.718+05:30 TRACE 15612 --- [fantasy-football-web-api] [ main] [,]o.s.b.c.config.ConfigDataEnvironment : Adding imported property source 'Config resource 'class path resource [application-local.yaml]' via location 'optional:classpath:/''
2025-02-01T16:23:05.718+05:30 TRACE 15612 --- [fantasy-football-web-api] [ main] [,]o.s.b.c.config.ConfigDataEnvironment : Skipping inactive property source 'Config resource 'class path resource [application.yaml]' via location 'optional:classpath:/' (document #1)'
2025-02-01T16:23:05.718+05:30 TRACE 15612 --- [fantasy-football-web-api] [ main] [,]o.s.b.c.config.ConfigDataEnvironment : Adding imported property source 'Config resource 'class path resource [application.yaml]' via location 'optional:classpath:/' (document #0)'
2025-02-01T16:23:05.718+05:30 TRACE 15612 --- [fantasy-football-web-api] [ main] [,]o.s.b.c.config.ConfigDataEnvironment : Setting default profiles: [default]
2025-02-01T16:23:05.718+05:30 TRACE 15612 --- [fantasy-football-web-api] [ main] [,]o.s.b.c.config.ConfigDataEnvironment : Setting active profiles: [local]
However on executing the graalvm native image I can see from the logs that the application-local.yaml is not loaded and hence my application is throwing an error.
2025-02-01T10:29:47.371Z TRACE 1 --- [fantasy-football-web-api] [ main] [,]o.s.b.c.config.ConfigDataEnvironment : Building config data environment contributors
2025-02-01T10:29:47.371Z TRACE 1 --- [fantasy-football-web-api] [ main] [,]o.s.b.c.config.ConfigDataEnvironment : Creating wrapped config data contributor for 'configurationProperties'
2025-02-01T10:29:47.371Z TRACE 1 --- [fantasy-football-web-api] [ main] [,]o.s.b.c.config.ConfigDataEnvironment : Creating wrapped config data contributor for 'systemProperties'
2025-02-01T10:29:47.371Z TRACE 1 --- [fantasy-football-web-api] [ main] [,]o.s.b.c.config.ConfigDataEnvironment : Creating wrapped config data contributor for 'systemEnvironment'
2025-02-01T10:29:47.371Z TRACE 1 --- [fantasy-football-web-api] [ main] [,]o.s.b.c.config.ConfigDataEnvironment : Creating wrapped config data contributor for 'random'
2025-02-01T10:29:47.371Z TRACE 1 --- [fantasy-football-web-api] [ main] [,]o.s.b.c.config.ConfigDataEnvironment : Creating wrapped config data contributor for 'applicationInfo'
2025-02-01T10:29:47.371Z TRACE 1 --- [fantasy-football-web-api] [ main] [,]o.s.b.c.config.ConfigDataEnvironment : Adding initial config data import from location 'optional:file:./;optional:file:./config/;optional:file:./config/*/'
2025-02-01T10:29:47.371Z TRACE 1 --- [fantasy-football-web-api] [ main] [,]o.s.b.c.config.ConfigDataEnvironment : Adding initial config data import from location 'optional:classpath:/;optional:classpath:/config/'
2025-02-01T10:29:47.371Z TRACE 1 --- [fantasy-football-web-api] [ main] [,]o.s.b.c.config.ConfigDataEnvironment : Processing initial config data environment contributors without activation context
2025-02-01T10:29:47.371Z TRACE 1 --- [fantasy-football-web-api] [ main] [,]o.s.b.c.config.ConfigDataEnvironment : Creating config data activation context from initial contributions
2025-02-01T10:29:47.371Z TRACE 1 --- [fantasy-football-web-api] [ main] [,]o.s.b.c.config.ConfigDataEnvironment : Processing config data environment contributors with initial activation context
2025-02-01T10:29:47.371Z TRACE 1 --- [fantasy-football-web-api] [ main] [,]o.s.b.c.config.ConfigDataEnvironment : Deducing profiles from current config data environment contributors
2025-02-01T10:29:47.371Z TRACE 1 --- [fantasy-football-web-api] [ main] [,]o.s.b.c.config.ConfigDataEnvironment : Processing config data environment contributors with profile activation context
2025-02-01T10:29:47.372Z TRACE 1 --- [fantasy-football-web-api] [ main] [,]o.s.b.c.config.ConfigDataEnvironment : Applying config data environment contributions
2025-02-01T10:29:47.372Z TRACE 1 --- [fantasy-football-web-api] [ main] [,]o.s.b.c.config.ConfigDataEnvironment : Skipping inactive property source 'Config resource 'class path resource [application.yaml]' via location 'optional:classpath:/' (document #1)'
2025-02-01T10:29:47.372Z TRACE 1 --- [fantasy-football-web-api] [ main] [,]o.s.b.c.config.ConfigDataEnvironment : Adding imported property source 'Config resource 'class path resource [application.yaml]' via location 'optional:classpath:/' (document #0)'
2025-02-01T10:29:47.372Z TRACE 1 --- [fantasy-football-web-api] [ main] [,]o.s.b.c.config.ConfigDataEnvironment : Setting default profiles: [default]
2025-02-01T10:29:47.372Z TRACE 1 --- [fantasy-football-web-api] [ main] [,]o.s.b.c.config.ConfigDataEnvironment : Setting active profiles: []
I using spring boot version 3.4.0. Can anyone point out why the property file is not loaded in the docker image alone?? I can share any more details if needed.
Upvotes: 0
Views: 30