Mark shaded application's jar as multi-release by default
Spring Framework now uses a multi-release jar for its virtual thread support. If the shaded jar is not marked as being a multi-release jar and virtual threads are enabled, the application will fail to start as the Java 21+ virtual threads delegate will be unavailable. This commit updates the starter parent's default configuration for the Maven Shade plugin to set Multi-Release: true in the application's manifest. Closes gh-43284
This commit is contained in:
@@ -234,7 +234,10 @@ publishing.publications.withType(MavenPublication) {
|
||||
}
|
||||
transformer(implementation: 'org.apache.maven.plugins.shade.resource.ServicesResourceTransformer')
|
||||
transformer(implementation: 'org.apache.maven.plugins.shade.resource.ManifestResourceTransformer') {
|
||||
delegate.mainClass('${start-class}')
|
||||
manifestEntries {
|
||||
delegate.'Main-Class'('${start-class}')
|
||||
delegate.'Multi-Release'('true')
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user