【发布时间】:2011-01-14 17:49:26
【问题描述】:
假设我有:
核心.jar
client.jar(包含主方法)(使用 core.jar)
super_mega_client.jar (使用 core.jar, client.jar)
要运行我的程序,我使用“java -jar super_mega_client.jar”
我如何从“super_mega_client.jar”中获取清单文件,对它的名称和内容一无所知?
实际上,我需要在 core.jar 中创建一个实用程序,它将与 jar 一起使用,使用“java -jar ***.jar”执行
好的,这是正确的问题:
我有 main.jar 和 main-method(可以在 my.app.Main 类中说)
我也有 fisrt.jar(带有一些类和资源)和 second.jar(带有一些其他类和资源)。两者都没有主类,在 CLASSPATH 中都有“main.jar”,都有定义为“my.app.Main”的 Main-Class 属性。
我可以通过执行“java -jar first.jar”或“java -jar second.jar”来运行我的应用程序
在我的my.app.Main.main(String[] args) 方法中(包含在 main.jar 中)我想知道执行的 jar 的名称(我想获得“first.jar”或“ second.jar")
我该怎么办?
【问题讨论】:
-
见this问题。
-
我既不知道 jar-name,也不知道任何类名。我只知道“java -jar *.jar”命令中使用了jar。
-
+1。使用引用的答案,您可以搜索每个潜在 JAR 的清单,例如
find /path/to/jars -name '*jar' | xargs manifest