Ryuhei Furuta
10/20/2025, 11:33 AMktor-server-config-yaml on the classpath, we observed that YamlConfigLoader gets selected and application.conf is not loaded. (It took several hours to solve this problem...)
This looks related to how META-INF/services files are merged for a fat JAR and how JVM ServiceLoader resolves providers, rather than a Ktor-specific bug.
I saw some issues referencing this behavior like
• https://youtrack.jetbrains.com/issue/KTOR-6610/Log-which-ConfigLoader-has-been-used-for-loading-the-server-configuration
• https://kotlinlang.slack.com/archives/C0A974TJ9/p1736451975122839
As Patrik Csikós says in YouTrack issue comment, I thought it would be beneficial to take these actions below.
(A) Improve logging: when multiple ConfigLoaders are discovered, log the list of candidates and the reason one was selected.
(B) Document the behavior when including multiple ConfigLoader on the classpath.
If this direction makes sense, I'd be happy to open a PR for (A) logging and/or (B) docs. Would appreciate guidance on the preferred approach. Thank you!Ryuhei Furuta
10/20/2025, 11:34 AMktor-server-core. 😄Ryuhei Furuta
10/20/2025, 11:35 AMAleksei Tirman [JB]
10/20/2025, 12:57 PM