Java獲取項目中路徑方法
假設項目結構如下:
D:\workspace\maven-web-project\target\maven-web-project\
|-WEB-INF\
|-classes\
|-pack\
|-Test.class
|-config.properties
class Test {
static {
/*在Test類中獲取路徑*/
// 打印 file:/D:/workspace/maven-web-project/target/maven-web-project/WEB-INF/classes/
System.out.println(Test.class.getClassLoader().getResource(""));
// 打印 file:/D:/workspace/maven-web-project/target/maven-web-project/WEB-INF/classes/
System.out.println(Test.class.getClassLoader().getResource("/"));
// 打印 file:/D:/workspace/maven-web-project/target/maven-web-project/WEB-INF/classes/pack/
System.out.println(Test.class.getResource(""));
// 打印 file:/D:/workspace/maven-web-project/target/maven-web-project/WEB-INF/classes/
System.out.println(Test.class.getResource("/"));
// 打印 D:\App\apache-tomcat-7.0.69\bin
System.out.println(new File("").getAbsolutePath());
// 打印 D:\
System.out.println(new File("/").getAbsolutePath());
// 打印 null
System.out.println(Thread.currentThread().getClass().getResource(""));
// 打印 file:/D:/App/apache-tomcat-7.0.69/lib/
System.out.println(Thread.currentThread().getClass().getResource("/"));
// 打印 file:/D:/App/apache-tomcat-7.0.69/lib/
System.out.println(Thread.currentThread().getClass().getClassLoader().getResource(""));
// 打印null
System.out.println(Thread.currentThread().getClass().getClassLoader().getResource("/"));
}
}
總結:
獲取classpath的方法
Test.class.getClassLoader().getResource("")
Test.class.getResource("/")