package railo.cli;
import java.io.File;
import java.io.FilenameFilter;
import java.lang.reflect.Method;
import java.net.URL;
import java.net.URLClassLoader;
public class MainEntryPoint {
public static void main(String[] args) throws Throwable {
File libDir=new File("./").getCanonicalFile();
System.out.println(libDir);
// Fix for tomcat
if(libDir.getName().equals(".") || libDir.getName().equals(".."))
libDir=libDir.getParentFile();
File[] children = libDir.listFiles(new ExtFilter());
if(children.length<2) {
libDir=new File(libDir,"lib");
children = libDir.listFiles(new ExtFilter());
}
URL[] urls = new URL[children.length];
System.out.println("Loading Jars");
for(int i=0;i<children.length;i++){
urls[i]=new URL ("jar:file://" + children[i] + "!/");
System.out.println("- "+urls[i]);
}
System.out.println();
URLClassLoader cl = new URLClassLoader(urls,ClassLoader.getSystemClassLoader());
Class cli = cl.loadClass("railo.cli.CLI");
Method main = cli.getMethod("main",new Class[]{String[].class});
main.invoke(null, new Object[]{args});
}
public static class ExtFilter implements FilenameFilter {
private String ext=".jar";
public boolean accept(File dir, String name) {
return name.toLowerCase().endsWith(ext);
}
}
}