我有一个项目,我把它做成了一个 fatjar。Gradle 将其放入 /build/libs
我已经进入这个目录并使用一个文件作为参数调用了 fatjar。
脚步
- cd /构建/库
- java -jar .jar --执行脚本.groovy
这将启动 Main-Class - 一个从命令行读取 args 的启动器类。
但是,您得到的文件名是“script.groovy”,这应该与我拥有 jar 文件的目录相同
但是,如果您在类 /fatjar 中查看
System.getProperty("user.dir")
或者
Path path = FileSystems.getDefault().getPath(".").toAbsolutePath()
他们都将路径报告为 projectRoot 目录 - 而不是 jar 本身的运行位置(/build/libs)
在你的类中,在 fatjar 中,当从命令行调用时,你如何确定 fatjar 实际所在的目录?