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 {
 | 
					public class Runner {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    private static HashMap wantedJars = new HashMap();
 | 
					    private static HashMap wantedJars = new HashMap();
 | 
				
			||||||
 | 
					    private static final String JAR_EXT = ".jar";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    static {
 | 
					    static {
 | 
				
			||||||
        wantedJars.put("bcel-5.1.jar", Boolean.FALSE);
 | 
					        wantedJars.put("bcel", Boolean.FALSE);
 | 
				
			||||||
        wantedJars.put("junit.jar", Boolean.FALSE);
 | 
					        wantedJars.put("junit", Boolean.FALSE);
 | 
				
			||||||
        wantedJars.put("log4j.jar", Boolean.FALSE);
 | 
					        wantedJars.put("log4j", Boolean.FALSE);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    private static void printMissingJars() {
 | 
					    private static void printMissingJars() {
 | 
				
			||||||
@ -50,7 +51,7 @@ public class Runner {
 | 
				
			|||||||
            Map.Entry entry = (Map.Entry)it.next();
 | 
					            Map.Entry entry = (Map.Entry)it.next();
 | 
				
			||||||
            String jar = (String)entry.getKey();
 | 
					            String jar = (String)entry.getKey();
 | 
				
			||||||
            if (wantedJars.get(jar) == Boolean.FALSE) {
 | 
					            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 {
 | 
					    public static URL[] getLibJars(String dir) throws Exception {
 | 
				
			||||||
        File[] jars = new File(dir).listFiles(new FileFilter() {
 | 
					        File[] jars = new File(dir).listFiles(new FileFilter() {
 | 
				
			||||||
            public boolean accept(File file) {
 | 
					            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];
 | 
					        URL[] urls = new URL[jars.length];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        for (int i=0; i<jars.length; i++) {
 | 
					        for (int i=0; i<jars.length; i++) {
 | 
				
			||||||
            wantedJars.put(jars[i].getName(),
 | 
					 | 
				
			||||||
                           Boolean.TRUE);
 | 
					 | 
				
			||||||
            URL url = 
 | 
					            URL url = 
 | 
				
			||||||
                new URL("jar", null,
 | 
					                new URL("jar", null,
 | 
				
			||||||
                        "file:" + jars[i].getAbsolutePath() + "!/");
 | 
					                        "file:" + jars[i].getAbsolutePath() + "!/");
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user