Commit 15f28dcc authored by Andy Wilkinson's avatar Andy Wilkinson

Polish "Determine Spring Boot version correctly when using module path"

See gh-16182
parent ec8fb614
/* /*
* Copyright 2012-2018 the original author or authors. * Copyright 2012-2019 the original author or authors.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
...@@ -22,18 +22,23 @@ import java.net.JarURLConnection; ...@@ -22,18 +22,23 @@ import java.net.JarURLConnection;
import java.net.URL; import java.net.URL;
import java.net.URLConnection; import java.net.URLConnection;
import java.util.jar.Attributes; import java.util.jar.Attributes;
import java.util.jar.Attributes.Name;
import java.util.jar.JarFile; import java.util.jar.JarFile;
/** /**
* Class that exposes the Spring Boot version. Fetches the "Implementation-Version" * Class that exposes the Spring Boot version. Fetches the
* manifest attribute from the jar file. * {@link Name#IMPLEMENTATION_VERSION Implementation-Version} manifest attribute from the
* jar file via {@link Package#getImplementationVersion()}, falling back to locating the
* jar file that contains this class and reading the {@code Implementation-Version}
* attribute from its manifest.
* <p> * <p>
* Note that some ClassLoaders do not expose the package metadata, hence this class might * This class might not be able to determine the Spring Boot version in all environments.
* not be able to determine the Spring Boot version in all environments. Consider using a * Consider using a reflection-based check instead: For example, checking for the presence
* reflection-based check instead: For example, checking for the presence of a specific * of a specific Spring Boot method that you intend to call.
* Spring Boot method that you intend to call.
* *
* @author Drummond Dawson * @author Drummond Dawson
* @author Hendrig Sellik
* @author Andy Wilkinson
* @since 1.3.0 * @since 1.3.0
*/ */
public final class SpringBootVersion { public final class SpringBootVersion {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment