I know you need to look at the manifest/manifestation file inside the jar but I've got to determine the version of ALL the jars on our servers and if I can I'd like to do it without downloading them all and unpacking them so I can read the files. Is there a command I can do at the command-line that will just return that information.
I don't know if there's an easy way to do it with the tools provided by the JDK but I don't think it'd be particularly difficult to write one in Java. Take a look at java.util.jar.JarFile which has a getManifest() method that will read and return the Manifest for a JAR file which you can in turn read Attributes from. Though I haven't done it I imagine it's rather trivial to grab what you're interested in and compile a file.
Of course, you'd have to actually find the JAR files to begin with. Though you should be able to specify a directory and recursively check each directory for any JAR files. I have no idea how long this would take.
posted 11 years ago
Thanks for the help. This worked but the problem is the inconsistency in actually completely filling out a Manifest for the JARs.
Normally, directory are separated with backslash on MS, but after downloading the native win32 ports of some gnu-utils, you may use sh.exe. Else you have to translate the jarver.sh On MS, you need to fix your path yourself, or give the full path to grep.exe which isn't included in MS (but again in the gnu-utils).
Perhaps a grep and a better find are included in Vista. [ March 05, 2007: Message edited by: Stefan Wagner ]