X-Git-Url: http://wamblee.org/gitweb/?a=blobdiff_plain;f=support%2Fgeneral%2Fsrc%2Fmain%2Fjava%2Forg%2Fwamblee%2Fgeneral%2FClassLoaderUtils.java;h=9e5ff4aad39b8f3e45ccb395ac0677b404ac8651;hb=8de36ff0206c996baf3ee4adc3e2293b12ff5f39;hp=5275e15972c847265bfdad3a7c3398ffa80d1427;hpb=32a62ca2c752e33a7873ac868a7a1f289caedcd4;p=utils diff --git a/support/general/src/main/java/org/wamblee/general/ClassLoaderUtils.java b/support/general/src/main/java/org/wamblee/general/ClassLoaderUtils.java index 5275e159..9e5ff4aa 100644 --- a/support/general/src/main/java/org/wamblee/general/ClassLoaderUtils.java +++ b/support/general/src/main/java/org/wamblee/general/ClassLoaderUtils.java @@ -1,42 +1,43 @@ /* * Copyright 2006 the original author or authors. - * + * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ - package org.wamblee.general; -import java.io.IOException; import java.io.File; -import java.net.URLClassLoader; -import java.net.URL; +import java.io.IOException; + import java.lang.reflect.Method; +import java.net.URL; +import java.net.URLClassLoader; + /** * Utility for working with the class loader. Based on the ClassPathHacker - * example found on the internet. + * example found on the internet. */ public class ClassLoaderUtils { - // No logging in this class to keep the required class libraries // limited to the standard java classes. This allows use of the - // utilities in an environment with a very limited classpath. - + // utilities in an environment with a very limited classpath. private static final String JAR_SUFFIX = ".jar"; /** - * Adds all jars in the given directory to the class path. - * @param aDirectory Directory. + * Adds all jars in the given directory to the class path. + * + * @param aDirectory + * Directory. * @throws IOException */ public static void addJarsInDirectory(File aDirectory) throws IOException { @@ -44,10 +45,11 @@ public class ClassLoaderUtils { for (File aFile : aDirectory.listFiles()) { System.out - .println("Considering '" + aFile.getCanonicalPath() + "'"); + .println("Considering '" + aFile.getCanonicalPath() + "'"); + if (aFile.getName().toLowerCase().endsWith(JAR_SUFFIX)) { - System.out.println("Adding '" + aFile.getCanonicalPath() - + "' to classpath."); + System.out.println("Adding '" + aFile.getCanonicalPath() + + "' to classpath."); addFile(aFile); } } @@ -55,7 +57,9 @@ public class ClassLoaderUtils { /** * Adds a file to the classpath. - * @param aFilename Filename to add. + * + * @param aFilename + * Filename to add. * @throws IOException */ public static void addFile(String aFilename) throws IOException { @@ -64,8 +68,10 @@ public class ClassLoaderUtils { } /** - * Adds a file to the classpath. - * @param aFile File to add. + * Adds a file to the classpath. + * + * @param aFile + * File to add. * @throws IOException */ public static void addFile(File aFile) throws IOException { @@ -74,25 +80,25 @@ public class ClassLoaderUtils { /** * Adds a url to the classpath. - * @param aUrl Url to add. + * + * @param aUrl + * Url to add. * @throws IOException */ public static void addURL(URL aUrl) throws IOException { - URLClassLoader sysloader = (URLClassLoader) ClassLoader - .getSystemClassLoader(); + .getSystemClassLoader(); Class sysclass = URLClassLoader.class; try { - Method method = sysclass.getDeclaredMethod("addURL", new Class[]{ URL.class } ); + Method method = sysclass.getDeclaredMethod("addURL", + new Class[] { URL.class }); method.setAccessible(true); method.invoke(sysloader, new Object[] { aUrl }); } catch (Throwable t) { t.printStackTrace(); throw new IOException( - "Error, could not add URL to system classloader"); + "Error, could not add URL to system classloader"); } - } - }