java - 查找当前执行的jar文件名

标签 java command-line jar parameters

每当在命令行中执行 jar 文件时,仅将参数传递给 main 方法。如何找到当前执行的 Jar 文件的名称?

例如:

java -jar myjar.jar arg1 arg2

如果我想获取 jar 文件“myjar.jar”的名称,我就陷入了死胡同。

我可以在代码中硬编码 Jar 文件名来处理它。但是,任何人都可以在执行 Jar 文件之前对其进行重命名。这违背了目的......

最佳答案

您可以使用资源访问来尝试查找 jar

YourApplication.class.getResource("/some-resource-in-the-jar.properties")

结果可能是这样的

jar:file:/C:/my-project/target/my-project-0.0.1-SNAPSHOT.jar!/some-resource-in-the-jar.properties

并且可以从资源中获取jar文件名。如果从目录中的类运行,则 jar 是空的。您将只有 file:/...

关于java - 查找当前执行的jar文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43798383/

相关文章:

java - 将使用 1.6.0.24 编译的 War 部署到 1.6.0.22 时出现问题

java - 类型传递/更改

windows - 从命令行通过 FTP 下载完整的远程目录

java - 如何从java代码执行以下命令行表达式?

android - 疯狂混合 Android 外部 JAR 和 JNI

java - 从依赖 jar 中找不到类

java - 通过泰勒展开的高斯累积密度函数

java - 显示空白的 osmdroid map 图 block

c# - 如何在 C# 中将其更改为 String.Format

java - 无法在Eclipse中使用JAR