I\'m trying to read my META-INF/MANIFEST.MF file from my Spring Boot web app (contained in a jar file).
I\'m trying the following code:
Input
Pretty much all jar files come with a manifest file, so your code is returning the first file it can find in the classpath.
Why would you want the manifest anyway? It's a file used by Java. Put any custom values you need somewhere else, like in a .properties
file next to you .class
file.
Update 2
As mentioned in a comment below, not in the question, the real goal is the version information from the manifest. Java already supplies that information with the java.lang.Package class.
Don't try to read the manifest yourself, even if you could find it.
Update 1
Note that the manifest file is not a Properties
file. It's structure is much more complex than that.
See the example in the java documentation of the JAR File Specification.
Manifest-Version: 1.0
Created-By: 1.7.0 (Sun Microsystems Inc.)
Name: common/class1.class
SHA-256-Digest: (base64 representation of SHA-256 digest)
Name: common/class2.class
SHA1-Digest: (base64 representation of SHA1 digest)
SHA-256-Digest: (base64 representation of SHA-256 digest)
As you can see, Name
and SHA-256-Digest
occurs more than once. The Properties
class cannot handle that, since it's just a Map
and the keys have to be unique.