java在执行jar包时,获取执行jar包所在的文件位置
时间: 2023-11-28 12:48:29 浏览: 99
可以使用以下代码获取执行jar包所在的文件位置:
```java
String jarPath = YourClass.class.getProtectionDomain().getCodeSource().getLocation().toURI().getPath();
```
其中,`YourClass` 是你想要获取执行jar包位置的类名。这段代码会获取该类所在的jar包位置,因为在执行jar包时,该类也会被打包进去。
注意,该方法在IDE中运行时会返回项目编译后的class文件所在的位置,而不是jar包所在的位置。因此在测试时要注意。
相关问题
java代码获取jar包所在的文件位置
可以使用以下代码获取当前运行的jar包所在的文件位置:
```java
String jarFilePath = new File(YourClassName.class.getProtectionDomain().getCodeSource().getLocation().toURI().getPath()).getParentFile().getPath();
```
其中,`YourClassName`是你要获取jar包所在位置的类名。这段代码会获取当前类所在的jar包文件位置的父目录路径。如果你想要获取其他jar包的位置,在`YourClassName`中填写对应的类名即可。
java获取jar包同目录下的文件路径
可以使用以下代码获取jar包同目录下的文件路径:
```java
String filePath = new File(getClass().getProtectionDomain().getCodeSource().getLocation().getPath()).getParent() + "/file.txt";
```
这段代码中,`getClass().getProtectionDomain().getCodeSource().getLocation().getPath()`获取到的是当前正在执行的jar包的路径,再通过`getParent()`方法获取到jar包所在目录的路径,最后与文件名拼接即可获取到文件的完整路径。
阅读全文