• Phillip Webb's avatar
    Propagate manifest to exploded jars · 9a235197
    Phillip Webb authored
    Update `LaunchedURLClassLoader` so that packages defined from exploded
    archive folders have manifest attributes applied to them. Prior to this
    calling `package.getImplementationTitle()` would only return the a
    manifiest attribute when running non-exploded.
    
    The root cause of this issue is the way that `URLClassLoader` handles
    the different URL types. For URLs that reference a jar the manifest is
    available. For URLs that reference a folder it isn't. When running
    exploded we use a URL that references to the `BOOT-INF/classes` folder
    directly. To fix the issue we now attempt to detect when `definePackage`
    is being called directly, and replace `null` entries with actual
    manifest values.
    
    Fixes gh-21705
    9a235197
ExampleClass.txt 759 Bytes