01: //***** Testing class loader ****************************** 02: 03: import java.net.URL; 04: class RCLTester { 05: public static void main(String[ ] args) throws Exception { 06: // URLs as strings 07: String url1 = 08: "http://condor.depaul.edu/dmumaugh/JDP/test/classAC.jar"; 09: String url2 = 10: "http://condor.depaul.edu/dmumaugh/JDP/test/classBD.jar"; 11: String url3 = 12: "file:/tmp/"; // must end with '/' 13: // Array of URLs 14: URL[ ] urls = 15: { new URL(url1), new URL(url2), new URL(url3) }; 16: // Construction 17: RemoteClassLoader rcl = new RemoteClassLoader(urls); 18: 19: // A and C are in one remote JAR, B and D in another 20: // E is in the local file system 21: Class ac = rcl.loadClass("A"); // A refers to B, 22: // so B is loaded 23: Class bc = rcl.loadClass("B"); // B, already loaded, 24: // won't be reloaded 25: Class cc = rcl.loadClass("C"); // in classAC.jar 26: Class dc = rcl.loadClass("D"); // in classBD.jar 27: Class ec = rcl.loadClass("E"); // local file 28: // Confirm loading 29: System.out.println(ac); // class A 30: System.out.println(bc); // class B 31: System.out.println(cc); // class C 32: System.out.println(dc); // class D 33: System.out.println(ec); // class E 34: } 35: }