在使用spring时,经常会看到类似 classpth:、classpath*: 这样的前缀,不管是加载spring xml配置文件还是其配置文件中加载资源文件都会看到这两种前缀配置,其实这两种前缀是[……]
标签存档: classpath
Java 获取当前Classpath
作者: Michael
日期: 2012 年 2 月 20 日
没有评论 | 3,022 views
代码及注释如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
package michael.utils; /** * 获取classpath和当前类的绝对路径的一些方法 * @see http://www.micmiu.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("---------------------------------------"); } } |
运行结果如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
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 --------------------------------------- |
近期评论