`
sjsky
  • 浏览: 918357 次
  • 性别: 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 classloader classpath 张孝祥

    ### Java ClassLoader与ClassPath详解 #### 一、概述 在Java编程中,类加载机制是十分关键的一个环节。类加载器(`ClassLoader`)负责将编译后的`.class`文件加载到Java虚拟机(JVM)中执行,而类路径(`ClassPath...

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

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

    JAVA获取CLASSPATH路径的方法详解

    本文将详细解析如何在Java中获取`CLASSPATH`路径,并介绍相关的方法和技术。 首先,`ClassLoader`类是Java中负责加载类和资源的核心组件。它提供了两个方法来获取资源: 1. `public URL getResource(String name)`...

    java项目中获取路径详解

    Java 项目中获取路径详解 在 Java 项目中,获取路径是非常重要的,因为它关系到项目的正确运行。特别是在 Java Web 项目中,获取路径变得更加复杂。下面我们将详细讨论 Java 项目中获取路径的方法和注意事项。 ...

    Path和classpath配置详解

    如果未显式设置,JVM会默认将当前目录(`.`)添加到Classpath。 在实际开发中,我们通常会使用构建工具(如Maven或Gradle)来管理类路径。这些工具会自动计算依赖库的路径,并生成一个Classpath,使得JVM能够找到所有...

    Java中获取类路径classpath的简单方法(推荐)

    在Java编程语言中,了解如何获取类路径(classpath)是至关重要的,因为类路径决定了Java虚拟机(JVM)在运行时如何查找和加载类。本文将详细介绍在Java中获取类路径的几种常见方法,以供开发者参考。 首先,类路径...

    如何安装java JDK以及正确设置CLASSPATH系统变量

    ### 如何安装Java JDK及正确设置CLASSPATH系统变量 #### 1. 预备常识 ##### 1.1 安装 JDK 首先,需要访问官方的Java网站(http://java.sun.com)来获取适用于您操作系统的最新版本的JDK。以撰写本文时的情况为例...

    基于获取JAVA路径,包括CLASSPATH外的路径的方法详解

    在Java编程中,获取Java路径以及CLASSPATH外部的路径是非常关键的操作,尤其当需要加载类、资源文件或进行系统级操作时。这篇文章主要探讨了几种获取这些路径的方法。 首先,我们来看一下如何获取Java路径。Java...

    怎样配置java环境变量path和classpath及其作用定义.pdf

    ### 如何配置Java环境变量Path和Classpath及其作用 #### 一、概述 在Java开发过程中,正确配置环境变量对于确保编译器和解释器能够正常工作至关重要。本文将详细介绍如何配置`Path`和`Classpath`这两个重要的环境...

    总结一下java获取路径几种途径

    在Java中,获取路径是操作文件和目录时的基本需求。正确地获取和使用路径对于文件的创建、读取、写入等操作至关重要。本篇总结将从多个角度介绍Java中获取路径的方法。 ### 1. 获取系统属性路径 Java提供了一种...

    Java路径问题最终解决方案之一.

    3. **使用 `Thread.currentThread().getContextClassLoader().getResource("")`**:该方法同样可以获取当前classpath的绝对URI路径。 4. **使用 `FileTest.class.getClassLoader().getResource("")`**:这种方法也...

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

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

    配置java普通测试环境

    CLASSPATH用于指定类库路径,一般会包含当前目录(`.`)和tools.jar,设置为`CLASSPATH=.\;%JAVA_HOME%\lib\tools.jar`。 配置完JDK后,我们需要安装一个Web服务器,这里选用的是Tomcat。Tomcat是Apache软件基金会...

    Java连接Oracle数据库的各种方法

    JDBC KPRB主要用于存储过程、触发器等数据库内的Java程序,直接使用当前的数据库会话。 SQLJ是另一种方法,它是一个预编译器,能够将Java源代码中的嵌入式SQL语句转换为Java代码。它的运行机制类似于Oracle的其他...

    java版获取本地系统信息的源码工程

    在Java编程语言中,获取本地系统信息是一项常用的任务...通过学习和理解这个源码工程,开发者可以掌握Java获取系统信息的基本方法,进一步可以应用于性能监控、故障排查、日志记录等场景,提升软件的稳定性和可维护性。

    Java路径问题最终解决方案之一.txt

    **推荐使用相对于当前classpath的相对路径**。这是因为`ClassLoader`类的`getResource`等方法会使用相对于当前项目的`classpath`的相对路径来查找资源。此外,常用的`ResourceBundle`类的`getBundle`方法也是如此...

    java项目相对路径与绝对路径问题分析

    4. `FileTest.class.getClassLoader().getResource("")`:再次,这个方法也用于获取当前ClassPath的绝对URI路径,路径结果和之前的一致。 5. `ClassLoader.getSystemResource("")`:这个方法返回的是系统类加载器的...

    用bat运行java文件中引用了外部jar的java程序

    在这个BAT文件中,`@echo off`是用来关闭命令回显,`set classpath`用于设置类路径,这里我们假设所有的jar文件都位于当前目录下的`lib`子目录中。`%classpath%`是一个环境变量,将在运行时被解析为实际的类路径。...

Global site tag (gtag.js) - Google Analytics