欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

java代码中如何获取当前项目路径以及classpath

程序员文章站 2022-06-11 20:18:17
...

java代码中如何获取当前项目路径以及classpath

背景

通常在自己编写代码解析指定的配置文件时,为了定位文件的路径会用到使用java代码获取工程路径和classpath的情况。下面直接上一段代码,看看如何实现。

代码实现

package com.test;

import org.junit.Test;

public class ResourceTester {
	
	/**
	 * 功能说明:测试工程路径、classpath、类的完整路径
	 * 修改说明:
	 * @author zheng
	 * @date 2020年4月26日 下午2:42:07
	 */
	@Test
	public void testPath() {
		try {
			String projectPath = System.getProperty("user.dir");					//获取当前eclipse工程路径
			String classPath = this.getClass().getResource("/").toString();			//获取当前classPath
//			String classPath = this.getClass().getClassLoader().getResource("");	//获取当前classPath等同上一行代码
			String classFullPath = this.getClass().getResource("").toString();		//获取当前类基于classPath的完整路径
			
			System.out.println(projectPath);
			System.out.println(classPath);
			System.out.println(classFullPath);
		} catch(Exception ex) {
			ex.printStackTrace();
		}
	}
}

运行结果

运行结果如下图:
java代码中如何获取当前项目路径以及classpath
从图中可以看出classpath对应的是test-classes目录,因为我的代码是单元测试代码,源代码所处的位置是src/test/java下因此对应的classpath是test-classes,如何源代码所处的位置是src/main/java,则获取的classpath就是classes目录了~

注意

System.getProperty(“user.dir”);是获取的当前工程路径,如果是在你的类中是处理源代码可以用这个路径,如果是解析配置文件,比如.properties文件,一定要用classpath的相对路径。

相关标签: java