java web 获取当前的运行路径的方法
2018-01-21 14:55
253 查看
在web开发中,如果需要配置额外的xml属性文件。有时在本地运行正常,但是部署到liunx上配置文件会发生找不到等现象。
有可能是获取本地路径时异常。下面介绍几种获取当前项目运行路径的方法。
1、URL url = T.class.getProtectionDomain().getCodeSource().getLocation();
例如:URL url = CrmBussinessCodeXmlResolver.class.getProtectionDomain().getCodeSource().getLocation(); 本地使用jetty启动获取到的路径是:file:/D:/workspace/bsm-server-njgd/target/classes/
使用本地tomcat启动路径:file:/E:/apache-tocmat2/webapps/bsm-server/WEB-INF/classes/
放入服务器liunx的 tomcat仲的路径时:/home/app/tomcat/bsm-server/webapps/bsm-server/WEB-INF/classes/
通过截取字段可以获取到响应的路径 if (path.startsWith("zip")) {// 当class文件在war中时,此时返回zip:D:/...这样的路径
path = path.substring(4);
} else if (path.startsWith("file")) {// 当class文件在class文件中时,此时返回file:/D:/...这样的路径
path = path.substring(6);
} else if (path.startsWith("jar")) {// 当class文件在jar文件里面时,此时返回jar:file:/D:/...这样的径
path = path.substring(10);
}
try {
path = URLDecoder.decode(path, "UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
有可能是获取本地路径时异常。下面介绍几种获取当前项目运行路径的方法。
1、URL url = T.class.getProtectionDomain().getCodeSource().getLocation();
例如:URL url = CrmBussinessCodeXmlResolver.class.getProtectionDomain().getCodeSource().getLocation(); 本地使用jetty启动获取到的路径是:file:/D:/workspace/bsm-server-njgd/target/classes/
使用本地tomcat启动路径:file:/E:/apache-tocmat2/webapps/bsm-server/WEB-INF/classes/
放入服务器liunx的 tomcat仲的路径时:/home/app/tomcat/bsm-server/webapps/bsm-server/WEB-INF/classes/
通过截取字段可以获取到响应的路径 if (path.startsWith("zip")) {// 当class文件在war中时,此时返回zip:D:/...这样的路径
path = path.substring(4);
} else if (path.startsWith("file")) {// 当class文件在class文件中时,此时返回file:/D:/...这样的路径
path = path.substring(6);
} else if (path.startsWith("jar")) {// 当class文件在jar文件里面时,此时返回jar:file:/D:/...这样的径
path = path.substring(10);
}
try {
path = URLDecoder.decode(path, "UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
相关文章推荐
- C#获取当前程序运行路径的方法集合
- 获取JAVA[WEB]项目相关路径的几种方法
- Java在不同环境下获取当前路径的方法
- C#获取当前程序运行路径的方法集合
- C#获取当前程序运行路径的方法集合
- java获取当前路径的几种方法
- Java在不同环境下获取当前路径的方法
- Java中获取当前运行代码的类名、方法名、行号
- C#获取当前程序运行路径的方法集合
- 关于VC获取当前程序运行路径的几种方法
- C#获取当前程序运行路径的方法集合
- 在Java程序中获取当前运行程序的路径
- Java在不同环境下获取当前路径的方法--this.getClass().getResource("")
- Java在不同环境下获取当前路径的方法--this.getClass().getResource("")
- Java在不同环境下获取当前路径的方法--this.getClass().getResource("")
- java获取当前路径的几种方法
- C#获取当前程序运行路径的方法集合
- Java在不同环境下获取当前路径的方法--this.getClass().getResource("")
- 获取Java程序运行的路径 | 获取当前jar包的路径
- java中获取当前路径的方法