/** * Creates a class loader that can load JAXB/WS 2.2 API, * and then return a class loader that can RI classes, which can see all those APIs. */ public static ClassLoader createClassLoader(ClassLoader cl) throws ClassNotFoundException, IOException { URL[] urls = findIstack22APIs(cl); if(urls.length==0) return cl; // we seem to be able to load everything already. no need for the hack List<String> mask = new ArrayList<String>(Arrays.asList(maskedPackages)); if(urls.length>1) { // we need to load 2.1 API from side. so add them to the mask mask.add("javax.xml.bind."); mask.add("javax.xml.ws."); } // first create a protected area so that we load JAXB/WS 2.1 API // and everything that depends on them inside cl = new MaskingClassLoader(cl,mask); // then this class loader loads the API cl = new URLClassLoader(urls, cl); // finally load the rest of the RI. The actual class files are loaded from ancestors cl = new ParallelWorldClassLoader(cl,""); return cl; }
/** * Creates a class loader that can load JAXB/WS 2.2 API, * and then return a class loader that can RI classes, which can see all those APIs. */ public static ClassLoader createClassLoader(ClassLoader cl) throws ClassNotFoundException, IOException { URL[] urls = findIstack22APIs(cl); if(urls.length==0) return cl; // we seem to be able to load everything already. no need for the hack List<String> mask = new ArrayList<String>(Arrays.asList(maskedPackages)); if(urls.length>1) { // we need to load 2.1 API from side. so add them to the mask mask.add("javax.xml.bind."); mask.add("javax.xml.ws."); } // first create a protected area so that we load JAXB/WS 2.1 API // and everything that depends on them inside cl = new MaskingClassLoader(cl,mask); // then this class loader loads the API cl = new URLClassLoader(urls, cl); // finally load the rest of the RI. The actual class files are loaded from ancestors cl = new ParallelWorldClassLoader(cl,""); return cl; }
/** * Creates a class loader that can load JAXB/WS 2.2 API, * and then return a class loader that can RI classes, which can see all those APIs. */ public static ClassLoader createClassLoader(ClassLoader cl) throws ClassNotFoundException, IOException { URL[] urls = findIstack22APIs(cl); if(urls.length==0) return cl; // we seem to be able to load everything already. no need for the hack List<String> mask = new ArrayList<String>(Arrays.asList(maskedPackages)); if(urls.length>1) { // we need to load 2.1 API from side. so add them to the mask mask.add("javax.xml.bind."); mask.add("javax.xml.ws."); } // first create a protected area so that we load JAXB/WS 2.1 API // and everything that depends on them inside cl = new MaskingClassLoader(cl,mask); // then this class loader loads the API cl = new URLClassLoader(urls, cl); // finally load the rest of the RI. The actual class files are loaded from ancestors cl = new ParallelWorldClassLoader(cl,""); return cl; }
/** * Creates a class loader that can load JAXB/WS 2.2 API, * and then return a class loader that can RI classes, which can see all those APIs. */ public static ClassLoader createClassLoader(ClassLoader cl) throws ClassNotFoundException, IOException { URL[] urls = findIstack22APIs(cl); if(urls.length==0) return cl; // we seem to be able to load everything already. no need for the hack List<String> mask = new ArrayList<String>(Arrays.asList(maskedPackages)); if(urls.length>1) { // we need to load 2.1 API from side. so add them to the mask mask.add("javax.xml.bind."); mask.add("javax.xml.ws."); } // first create a protected area so that we load JAXB/WS 2.1 API // and everything that depends on them inside cl = new MaskingClassLoader(cl,mask); // then this class loader loads the API cl = new URLClassLoader(urls, cl); // finally load the rest of the RI. The actual class files are loaded from ancestors cl = new ParallelWorldClassLoader(cl,""); return cl; }
cl = new ParallelWorldClassLoader(cl,"1.0/"); } else { if(mustang) cl = new ParallelWorldClassLoader(cl,"");
cl = new ParallelWorldClassLoader(cl,"1.0/"); } else { if(mustang) cl = new ParallelWorldClassLoader(cl,"");
cl = new ParallelWorldClassLoader(cl,"1.0/"); } else { if(mustang) cl = new ParallelWorldClassLoader(cl,"");
cl = new ParallelWorldClassLoader(cl,"1.0/"); } else { if(mustang) cl = new ParallelWorldClassLoader(cl,"");
cl = new ParallelWorldClassLoader(cl,"1.0/"); } else { if(mustang) cl = new ParallelWorldClassLoader(cl,"");
cl = new ParallelWorldClassLoader(cl,"1.0/"); } else { if(mustang) cl = new ParallelWorldClassLoader(cl,"");