来自JAR文件的类清单属性?

我用这种方式创建了一个JAR文件jar cf jar-file input-files 。 现在,我正在尝试运行它。 运行它不起作用(找不到jre命令):

jre -cp app.jar MainClass

这也不起作用:

java -jar main.jar

(无法加载main.jar中的Main-Class清单属性)。

我也发现了这一点

要运行打包为JAR文件的应用程序(1.2版 - 需要Main-Class清单头文件)

什么是“主要类清单标题”? 我如何创建它并在哪里放置它?


我不确定我是否相信你的症状:

  • 如果没有找到jre命令,那么运行jre -cp app.jar应该给出相同的错误
  • 只需将JAR文件添加到类路径中就不会给出您所看到的错误
  • 如果你运行,我希望你看到这个错误:

    java -jar app.jar
    

    Main-Class头文件需要位于JAR文件的清单中 - 这是关于其他所需库的内容的元数据。 请参阅Sun文档以了解如何创建适当的清单。 基本上你需要创建一个包含这样一行的文本文件:

    Main-Class: MainClass
    

    然后运行

    jar cfm app.jar manifest.txt *.class
    

  • 设置类路径并编译

    javac -classpath“C: Program Files Java jdk1.6.0_updateVersion tools.jar”yourApp.java

  • 创建manifest.txt

    主要类:yourApp换行符

  • 创建yourApp.jar

    jar cvf0m yourApp.jar manifest.txt yourApp.class

  • 运行你的App.jar

    java -jar yourApp.jar


  • 你可以运行:

    java -cp .;app.jar package.MainClass
    

    如果JAR文件中没有清单,它适用于我。

    链接地址: http://www.djcxy.com/p/55017.html

    上一篇: class manifest attribute from a JAR file?

    下一篇: How to run a JAR file