从已执行的JAR获取清单文件

时间:2010-02-09 09:38:42

标签: java jar manifest

让我说我有:
core.jar添加
client.jar(包含main方法)(使用core.jar)
super_mega_client.jar(使用core.jar,client.jar)

要运行我的程序,我使用“java -jar super_mega_client.jar”
我如何从“super_mega_client.jar”中获取清单文件,而不知道它的名称和内容?
Actualy我需要在core.jar中创建一个util,它将与jar一起使用,用“java -jar ***。jar”执行


好的,这是正确的问题:
我使用main方法 main.jar (比如在 my.app.Main 类中) 我还有 fisrt.jar (包含一些类和资源)和 second.jar (包含一些其他类和资源)。两者都没有主类,在CLASSPATH中都有“ main.jar ”,两者都将Main-Class属性定义为“ my.app.Main ”。
我可以通过执行“ java -jar first.jar ”或“ java -jar second.jar ”来运行我的应用程序 在我的my.app.Main.main(String[] args)方法(包含在 main.jar 中)中,我想知道已执行jar的名称(我想要“ first.jar ”或“ second.jar ”)
我怎么能这样做?

3 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

我不太清楚我在这里理解你需要什么,但看看这篇文章(例如)

http://java.sun.com/j2se/1.5.0/docs/guide/lang/resources.html

你问CLASSLOADER(所以使用你已经加载的类并请求它使用的类加载器可能已经足够好了)为你加载资源。

答案 2 :(得分:0)

您可以使用-verbose命令的java选项查看所有已加载类的名称。