繁体   English   中英

找到当前执行的jar文件名

[英]find the currently executed jar file name

每当在命令行中执行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文件名。 如果从dir中的类运行,则jar为空。 你将只有file:/...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM