I have a runnable jar with two jars in the Class-Path entry of its manifest file:
Class-Path: module1-0.0.1-SNAPSHOT.jar base-0.0.1-SNAPSHOT.jar
Main-Class:
I think you will need to use the Manifest class to read in the MANIFEST.MF file and extract the Class-Path attribute using that class
Do you actually need the location of the JAR files, or do you just need to load resources from them?
If you actually just want to load resources, you'll be interested in java.lang.ClassLoader
, its static getSystemClassLoader()
method, and the static java.lang.Thread.currentThread().getContextClassLoader()
method.
If you wanted to find what they were because you wanted to read the version string off the Jar file name ... and if they were under your control anyhow ... you might want to use Package.getPackage("my.package").getImplementationVersion()
and organise to have the required values written into the Manifest of the component jars.