This incredibly fragile bit of code should work for existing jar files, but good grief!
So we hide this behind a utility method and no one needs to see any ugliness at all :)
Erik
---------------------------------------------------
import java.util.jar.*; import java.io.*; import java.net.*;
class test {
public static void main (String[] argv) {
int major_version = 0; int minor_version = 0; int micro_version = 0;
try {
String url = ClassLoader.getSystemClassLoader().getResource("org/apache/lucene/ util/Constants.class").toExternalForm();
if (url.startsWith("jar:")) {
URI u = new URI(url.substring(4, url.indexOf("!")));
JarFile jf = new JarFile (new File(u));
Manifest mf = jf.getManifest();
Attributes attrs = mf.getAttributes("org/apache/lucene");
String version_string = attrs.getValue("Specification-Version");
System.err.println("version_string is " + version_string);
if (version_string != null) {
String[] parts = version_string.split("\\.");
if (parts.length == 3) {
major_version = Integer.parseInt(parts[0]);
minor_version = Integer.parseInt(parts[1]);
micro_version = Integer.parseInt(parts[2]);
}
}
}
} catch (Exception x) {
x.printStackTrace(System.err);
}
System.out.println("major " + major_version + ", minor " + minor_version + ", micro " + micro_version);
}
}
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]