handle versioned .jar files
This commit is contained in:
parent
1092f32fe2
commit
16a1273b70
|
@ -36,11 +36,12 @@ import org.hyperic.sigar.SigarLoader;
|
|||
public class Runner {
|
||||
|
||||
private static HashMap wantedJars = new HashMap();
|
||||
private static final String JAR_EXT = ".jar";
|
||||
|
||||
static {
|
||||
wantedJars.put("bcel-5.1.jar", Boolean.FALSE);
|
||||
wantedJars.put("junit.jar", Boolean.FALSE);
|
||||
wantedJars.put("log4j.jar", Boolean.FALSE);
|
||||
wantedJars.put("bcel", Boolean.FALSE);
|
||||
wantedJars.put("junit", Boolean.FALSE);
|
||||
wantedJars.put("log4j", Boolean.FALSE);
|
||||
}
|
||||
|
||||
private static void printMissingJars() {
|
||||
|
@ -50,7 +51,7 @@ public class Runner {
|
|||
Map.Entry entry = (Map.Entry)it.next();
|
||||
String jar = (String)entry.getKey();
|
||||
if (wantedJars.get(jar) == Boolean.FALSE) {
|
||||
System.out.println("Unable to locate: " + jar);
|
||||
System.out.println("Unable to locate: " + jar + JAR_EXT);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -72,7 +73,26 @@ public class Runner {
|
|||
public static URL[] getLibJars(String dir) throws Exception {
|
||||
File[] jars = new File(dir).listFiles(new FileFilter() {
|
||||
public boolean accept(File file) {
|
||||
return wantedJars.get(file.getName()) != null;
|
||||
String name = file.getName();
|
||||
int jarIx = name.indexOf(JAR_EXT);
|
||||
if (jarIx == -1) {
|
||||
return false;
|
||||
}
|
||||
int ix = name.indexOf('-');
|
||||
if (ix != -1) {
|
||||
name = name.substring(0, ix); //versioned .jar
|
||||
}
|
||||
else {
|
||||
name = name.substring(0, jarIx);
|
||||
}
|
||||
|
||||
if (wantedJars.get(name) != null) {
|
||||
wantedJars.put(name, Boolean.TRUE);
|
||||
return true;
|
||||
}
|
||||
else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
|
@ -83,8 +103,6 @@ public class Runner {
|
|||
URL[] urls = new URL[jars.length];
|
||||
|
||||
for (int i=0; i<jars.length; i++) {
|
||||
wantedJars.put(jars[i].getName(),
|
||||
Boolean.TRUE);
|
||||
URL url =
|
||||
new URL("jar", null,
|
||||
"file:" + jars[i].getAbsolutePath() + "!/");
|
||||
|
|
Loading…
Reference in New Issue