作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在尝试使用以下方法查找正在运行的 jar 文件的位置:
File jarFile = new File(JarPath.class.getProtectionDomain().getCodeSource().getLocation().toURI());
当我在 IDE (eclipse) 上运行它时,它会返回正确的路径。但是当我将 jar 作为可执行文件运行时,返回的代码源是
rsrc:./
关于如何获得正确路径的想法?
最佳答案
尝试不同的方法来获取位置。
String jarFilePath = ClassLoader.getSystemClassLoader().getResource(".")
.toURI()
.getPath()
.replaceFirst("/", "");
这会让您到达 jar 文件的父位置。
C:/Users/Roshana Pitigala/Desktop/
您仍然需要添加文件名和扩展名 (jarFileName.jar
)。
关于java - Myclass.class.getProtectionDomain().getCodeSource() 返回空路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32050178/
无论我使用 Oracle JDK、IBM JDK 还是 Open JDK(所有版本 8),我注意到当相关类是 a 时,以下方法始终返回 null JDK库类: Class clazz = In
我正在尝试使用以下方法查找正在运行的 jar 文件的位置: File jarFile = new File(JarPath.class.getProtectionDomain().getCodeSou
我在 Java 类中使用了这行代码来检索用于自定义 ClassLoader 的 URI: String uri = getClass().getProtectionDomain().getCodeSo
好的,这是我的 Web 项目。我在 eClipse 中构建了它,结构如下: workspace3\MyProject\war\images\uploaded workspace3\MyProject\
我是一名优秀的程序员,十分优秀!