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`)负责将编译后的`.class`文件加载到Java虚拟机(JVM)中执行,而类路径(`ClassPath...
java实现 获取指定路径下 指定格式 的所有文件
本文将详细解析如何在Java中获取`CLASSPATH`路径,并介绍相关的方法和技术。 首先,`ClassLoader`类是Java中负责加载类和资源的核心组件。它提供了两个方法来获取资源: 1. `public URL getResource(String name)`...
Java 项目中获取路径详解 在 Java 项目中,获取路径是非常重要的,因为它关系到项目的正确运行。特别是在 Java Web 项目中,获取路径变得更加复杂。下面我们将详细讨论 Java 项目中获取路径的方法和注意事项。 ...
如果未显式设置,JVM会默认将当前目录(`.`)添加到Classpath。 在实际开发中,我们通常会使用构建工具(如Maven或Gradle)来管理类路径。这些工具会自动计算依赖库的路径,并生成一个Classpath,使得JVM能够找到所有...
在Java编程语言中,了解如何获取类路径(classpath)是至关重要的,因为类路径决定了Java虚拟机(JVM)在运行时如何查找和加载类。本文将详细介绍在Java中获取类路径的几种常见方法,以供开发者参考。 首先,类路径...
### 如何安装Java JDK及正确设置CLASSPATH系统变量 #### 1. 预备常识 ##### 1.1 安装 JDK 首先,需要访问官方的Java网站(http://java.sun.com)来获取适用于您操作系统的最新版本的JDK。以撰写本文时的情况为例...
在Java编程中,获取Java路径以及CLASSPATH外部的路径是非常关键的操作,尤其当需要加载类、资源文件或进行系统级操作时。这篇文章主要探讨了几种获取这些路径的方法。 首先,我们来看一下如何获取Java路径。Java...
### 如何配置Java环境变量Path和Classpath及其作用 #### 一、概述 在Java开发过程中,正确配置环境变量对于确保编译器和解释器能够正常工作至关重要。本文将详细介绍如何配置`Path`和`Classpath`这两个重要的环境...
在Java中,获取路径是操作文件和目录时的基本需求。正确地获取和使用路径对于文件的创建、读取、写入等操作至关重要。本篇总结将从多个角度介绍Java中获取路径的方法。 ### 1. 获取系统属性路径 Java提供了一种...
3. **使用 `Thread.currentThread().getContextClassLoader().getResource("")`**:该方法同样可以获取当前classpath的绝对URI路径。 4. **使用 `FileTest.class.getClassLoader().getResource("")`**:这种方法也...
获取当前执行的classpath的所有jar包的路径 * 3.通过java的ToolProvider创建JavaCompile,用来执行class源文件 * 4.创建DiagnosticCollector用来执行获取执行失败的错误结果 * 5.添加动态执行的编译环境 options ...
CLASSPATH用于指定类库路径,一般会包含当前目录(`.`)和tools.jar,设置为`CLASSPATH=.\;%JAVA_HOME%\lib\tools.jar`。 配置完JDK后,我们需要安装一个Web服务器,这里选用的是Tomcat。Tomcat是Apache软件基金会...
JDBC KPRB主要用于存储过程、触发器等数据库内的Java程序,直接使用当前的数据库会话。 SQLJ是另一种方法,它是一个预编译器,能够将Java源代码中的嵌入式SQL语句转换为Java代码。它的运行机制类似于Oracle的其他...
在Java编程语言中,获取本地系统信息是一项常用的任务...通过学习和理解这个源码工程,开发者可以掌握Java获取系统信息的基本方法,进一步可以应用于性能监控、故障排查、日志记录等场景,提升软件的稳定性和可维护性。
**推荐使用相对于当前classpath的相对路径**。这是因为`ClassLoader`类的`getResource`等方法会使用相对于当前项目的`classpath`的相对路径来查找资源。此外,常用的`ResourceBundle`类的`getBundle`方法也是如此...
4. `FileTest.class.getClassLoader().getResource("")`:再次,这个方法也用于获取当前ClassPath的绝对URI路径,路径结果和之前的一致。 5. `ClassLoader.getSystemResource("")`:这个方法返回的是系统类加载器的...
在这个BAT文件中,`@echo off`是用来关闭命令回显,`set classpath`用于设置类路径,这里我们假设所有的jar文件都位于当前目录下的`lib`子目录中。`%classpath%`是一个环境变量,将在运行时被解析为实际的类路径。...