`
sjsky
  • 浏览: 904552 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Java 获取当前Classpath

    博客分类:
  • Java
阅读更多
    blog迁移至:http://www.micmiu.com

package michael.utils;

/**
 * 获取classpath和当前类的绝对路径的一些方法
 * @see http://sjsky.iteye.com
 * @author michael sjsky007@gmail.com
 */
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实现获取指定路径下指定格式的所有文件

    java实现 获取指定路径下 指定格式 的所有文件

    Java动态编译Java代码,运行在内存中,并执行

    获取当前执行的classpath的所有jar包的路径 * 3.通过java的ToolProvider创建JavaCompile,用来执行class源文件 * 4.创建DiagnosticCollector用来执行获取执行失败的错误结果 * 5.添加动态执行的编译环境 options ...

    125集专攻JAVA基础 JAVA零基础入门学习视频教程 动力节点JAVA视频教程.txt

    北京动力节点-Java编程零基础教程-056-Java基本语法-获取当前系统的字符编码.avi 北京动力节点-Java编程零基础教程-057-Java基本语法-数据类型-整型.avi 北京动力节点-Java编程零基础教程-058-Java基本语法-数据...

    Java Instrumentation Framework.rar

    在注入内存马的过程当中,我们可能需要用到反射机制,例如注入一个servlet型的内存马,我们需要使用反射机制来获取当前的context,然后将恶意的servlet(wrapper)添加到当前的context的children中。 在使用Java反射...

    Windows Bat脚本-快速切换Java版本

    使用java -version命令显示当前系统中已安装的Java版本信息。 列出可选操作: 遍历脚本所在目录下的所有子文件夹,将其作为可选的JDK版本。 用户可以通过输入相应数字来选择要切换至的JDK版本,或选择取消切换操作...

    Java路径的最终解决方案:相对路径寻址

    文中指出尽量不要使用相对于System.getProperty(\\\"user.dir\\\")当前用户目录的相对路径。这是一颗定时炸弹,随时可能要你的命。尽量使用URI形式的绝对路径资源。它可以很容易的转变为URI,URL,File对象。尽量使用...

    JAVA面试题最全集

    37.classloader中,JDK的API、Classpath中的同web-inf中的class加载方式有什么区别? 38.列举三种以上垃圾回收算法,并比较其优缺点? 39.编写代码实现一个线程池 40.描述一下JVM加载class文件的原理机制? 41....

    Java文件转换为 Exe 可执行文件

    可执行程序能够自动从“注册表”或“JAVA_HOME环境变量” 找到当前操作系统中所安装的 jre 环境。 3.2 配置运行环境 如果 jre 文件夹采用复制方式,随同可执行文件一起发布,那么可以添加配置文件进行配置。 配置...

    加载文件资源的三种方式

    加载文件资源的三种方式 ~1.从classpath根目录下加载指定名称的文件 2.从classpath根目录下加载指定名称的文件 3. 从classpath根目录下加载指定名称的文件 4. 获取当前文件的绝对路径

    通过java操作excel表格的工具类库jxl

     将下载后的文件解包,得到JXL.JAR,放入classpath,安装就完成了。如果包不能正常的加载,可以把你下载好的JXL.JAR包放入D:\JAVA\jre\lib\ext中(我的是JDK1.6)就OK了。我相信在配置TOMCAT时也需要把相关的三个...

    loucyin#note#Class 使用1

    Class 使用获取 PackageName获取工程目录其他得到的是当前类FileTest.class文件的URI目录。得到的是当前的classpath的绝对U

    day020-继承加强和设计模式代码和笔记.rar

    它负责将 用户类路径(java -classpath或-Djava.class.path变量所指的目录, 即当前类所在路径及其引用的第三方类库的路径,如第四节中的问题6所述)下的类库 加载到内存中。 开发者可以直接使用系统...

    Android开发环境搭建实验报告(4).doc

    实验一 Android开发环境搭建 一、实验内容 1) 了解Android开发所需要的开发包和工具,以及获得它们的方式; 2) 下载、安装和配置Android开发包; 3) 测试安装的开发环境,创建了一个Android项目; 4) 在模拟器上运行...

    Android开发环境搭建实验报告(3).doc

    实验一 Android开发环境搭建 一、实验内容 1) 了解Android开发所需要的开发包和工具,以及获得它们的方式; 2) 下载、安装和配置Android开发包; 3) 测试安装的开发环境,创建了一个Android项目; 4) 在模拟器上运行...

    (最新整理)Android开发环境搭建实验报告.doc

    实验一 Android开发环境搭建 一、实验内容 1) 了解Android开发所需要的开发包和工具,以及获得它们的方式; 2) 下载、安装和配置Android开发包; 3) 测试安装的开发环境,创建了一个Android项目; 4) 在模拟器上运行和...

    新版Android开发教程.rar

    � Google 提供了一套 Java 核心包 (J2SE 5,J2SE 6) 的有限子集,尚不承诺遵守 Java 任何 Java 规范 , 可能会造 成J ava 阵营的进一步分裂。 � 现有应用完善度不太够,需要的开发工作量较大。--------------------...

    Android开发环境搭建实验报告(1).doc

    实验一 Android开辟环境搭建之袁州冬雪创作 一、实验内容 1) 懂得Android开辟所需要的开辟包和工具,以及获得它们的方式; 2) 下载、装置和配置Android开辟包; 3) 测试装置的开辟环境,创建了一个Android项目; 4) ...

    通用静态页面生成系统 源代码

    SUN Java J2SDK 1.4.2及以上版本 <br> ************************************************************* 解压缩当前压缩包到任意目录 配置java环境 将jar文件夹中文件加入系统环境变量CLASSPATH中...

    Android开发环境搭建实验报告之欧阳科创编.doc

    实验一 Android开发环境搭建 "时间:2021.02.05 "创作:欧阳科 " 一、实验内容 1) 了解Android开发所需要的开发包和工具,以及获得它们的方式; 2) 下载、安装和配置Android开发包; 3) 测试安装的开发环境,创建了...

    springmybatis

    MyBatis使用简单的XML或注解用于配置和原始映射,将接口和Java的POJOs(Plan Old Java Objects,普通的Java对象)映射成数据库中的记录. orm工具的基本思想 无论是用过的hibernate,mybatis,你都可以法相他们有一个...

Global site tag (gtag.js) - Google Analytics