Java 获取当前Classpath

    blog迁移至: http://www.micmiu.com

package michael.utils;

/**
 * 获取classpath和当前类的绝对路径的一些方法
 * @see http://sjsky.iteye.com
 * @author michael [email protected]
 */
public class ClasspathUtil {

    /**
     * @param args
     */
    public static void main(String[] args) {

        // 一般推荐用此方法
        // 获取当前ClassPath的绝对URI路径
        System.out.println("Thread.currentThread().getContextClassLoader():");
        System.out.println(Thread.currentThread().getContextClassLoader()
                .getResource(""));
        System.out.println("---------------------------------------");

        System.out.println("ClasspathUtil.class.getResource:");
        // 获取当前类文件的URI目录
        System.out.println(ClasspathUtil.class.getResource(""));

        // 获取当前的ClassPath的绝对URI路径。
        System.out.println(ClasspathUtil.class.getResource("/"));

        System.out.println("---------------------------------------");

        System.out.println("ClasspathUtil.class.getClassLoader().getResource:");

        // 获取当前ClassPath的绝对URI路径
        System.out
                .println(ClasspathUtil.class.getClassLoader().getResource(""));

        System.out.println("---------------------------------------");

        // 获取当前ClassPath的绝对URI路径
        System.out.println("ClassLoader.getSystemResource:");

        System.out.println(ClassLoader.getSystemResource(""));
        System.out.println("---------------------------------------");

        System.out.println("System.getProperty:");

        // 对于一般项目,这是项目的根路径。对于JavaEE服务器,这可能是服务器的某个路径。
        // 这个并没有统一的规范!所以,绝对不要使用“相对于当前用户目录的相对路径”。
        System.out.println(System.getProperty("user.dir"));
        System.out.println("---------------------------------------");

    }
}

运行结果如下:
引用

Thread.currentThread().getContextClassLoader():
file:/D:/J2EE_sjsky/current/06Coding/project/target/classes/
---------------------------------------
ClasspathUtil.class.getResource:
file:/D:/J2EE_sjsky/current/06Coding/project/target/classes/michael/utils/
file:/D:/J2EE_sjsky/current/06Coding/project/target/classes/
---------------------------------------
ClasspathUtil.class.getClassLoader().getResource:
file:/D:/J2EE_sjsky/current/06Coding/project/target/classes/
---------------------------------------
ClassLoader.getSystemResource:
file:/D:/current/06Coding/project/target/classes/
---------------------------------------
System.getProperty:
D:\J2EE_sjsky\current\06Coding\project
---------------------------------------




转载请注明来自:Michael's blog @ http://sjsky.iteye.com

-----------------------------------分 ------------------------------------隔 ------------------------------------线 --------------------------------------

你可能感兴趣的:(java,企业应用,classpath)