/** * Defines a class from byte array into the system class loader. * @see #defineClass(String, byte[], ClassLoader) */ public static Class defineClass(String className, byte[] classData) { return defineClass(className, classData, getDefaultClassLoader()); }
/** * Returns default classpath using * {@link #getDefaultClassLoader() default classloader}. */ public static File[] getDefaultClasspath() { return getDefaultClasspath(getDefaultClassLoader()); }
/** * Returns default classpath using * {@link #getDefaultClassLoader() default classloader}. */ public static File[] getDefaultClasspath() { return getDefaultClasspath(getDefaultClassLoader()); }
/** * Defines a class from byte array into the specified class loader. * Warning: this is a <b>hack</b>! * @param className optional class name, may be <code>null</code> * @param classData bytecode data * @param classLoader classloader that will load class */ public static Class of(final String className, final byte[] classData, ClassLoader classLoader) { if (classLoader == null) { classLoader = ClassLoaderUtil.getDefaultClassLoader(); } try { final Method defineClassMethod = ClassLoader.class.getDeclaredMethod("defineClass", String.class, byte[].class, int.class, int.class); defineClassMethod.setAccessible(true); return (Class) defineClassMethod.invoke(classLoader, className, classData, 0, classData.length); } catch (Throwable th) { throw new RuntimeException("Define class failed: " + className, th); } }
return getBundle(bundleName, locale, ClassLoaderUtil.getDefaultClassLoader()); } catch (MissingResourceException ignore) { return null; ResourceBundle bundle = notmisses.get(key); if (bundle == null) { bundle = getBundle(bundleName, locale, ClassLoaderUtil.getDefaultClassLoader()); notmisses.put(key, bundle);
return getBundle(bundleName, locale, ClassLoaderUtil.getDefaultClassLoader()); } catch (MissingResourceException ignore) { return null; ResourceBundle bundle = notmisses.get(key); if (bundle == null) { bundle = getBundle(bundleName, locale, ClassLoaderUtil.getDefaultClassLoader()); notmisses.put(key, bundle);
classLoader = ClassLoaderUtil.getDefaultClassLoader();
/** * Returns default classpath using * {@link #getDefaultClassLoader() default classloader}. */ public static File[] getDefaultClasspath() { return getDefaultClasspath(getDefaultClassLoader()); }
/** * Defines a class from byte array into the specified class loader. * Warning: this is a <b>hack</b>! * @param className optional class name, may be <code>null</code> * @param classData bytecode data * @param classLoader classloader that will load class */ public static Class of(final String className, final byte[] classData, ClassLoader classLoader) { if (classLoader == null) { classLoader = ClassLoaderUtil.getDefaultClassLoader(); } try { final Method defineClassMethod = ClassLoader.class.getDeclaredMethod("defineClass", String.class, byte[].class, int.class, int.class); defineClassMethod.setAccessible(true); return (Class) defineClassMethod.invoke(classLoader, className, classData, 0, classData.length); } catch (Throwable th) { throw new RuntimeException("Define class failed: " + className, th); } }
/** * Gets a class loader * @param args strings : * "ctx" : ContextClassLoader * "sys" : SystemClassLoader * anything else : DefaultClassLoader * @return the class loader */ public static ClassLoader loader(Object...args){ if ( args.length > 0 ){ if ( args[0].toString().equalsIgnoreCase("ctx")){ return Thread.currentThread().getContextClassLoader(); } if ( args[0].toString().equalsIgnoreCase("sys")){ return ClassLoader.getSystemClassLoader(); } } return ClassLoaderUtil.getDefaultClassLoader(); }
/** * Loads a specific jar from a path * @param arg the path to the jar * can be a file, a string path or an URL * @return true if success, false if failed */ public static boolean load_jar(Object arg){ try { if ( arg instanceof String) { ClassLoaderUtil.addFileToClassPath(new File(arg.toString()), ClassLoaderUtil.getDefaultClassLoader()); return true; } if ( arg instanceof File) { ClassLoaderUtil.addFileToClassPath((File)arg, ClassLoaderUtil.getDefaultClassLoader()); return true; } if ( arg instanceof URL){ ClassLoaderUtil.addUrlToClassPath((URL) arg, ClassLoaderUtil.getDefaultClassLoader()); return true; } return false; }catch (Exception e){ System.err.println(e); } return false; }
return getBundle(bundleName, locale, ClassLoaderUtil.getDefaultClassLoader()); } catch (MissingResourceException ignore) { return null; ResourceBundle bundle = notmisses.get(key); if (bundle == null) { bundle = getBundle(bundleName, locale, ClassLoaderUtil.getDefaultClassLoader()); notmisses.put(key, bundle);
classLoader = ClassLoaderUtil.getDefaultClassLoader();
classLoader = ClassLoaderUtil.getDefaultClassLoader();