小编典典

无法加载Main-Class清单属性

java

我知道这是一个非常常见的问题,但是我尝试使用Google谷歌搜索,但没有得到任何有益的结果。我试图用我的“
Main.class”文件(由NetBeans制成)制作一个罐子,但我没有试图用它做罐子。

我运行了以下命令:

D:\NetBeans\trovanum3\build\classes\trovanum3>jar cf trovanum.jar *.class

然后在该文件夹中生成一个.jar文件。我以为那是可行的,但不会运行。

我尝试使用存档打开器打开jar文件,并且其中包含“ Main.class”文件和“ META-INF”文件夹,其中包含名为“
MANIFEST.MF”的文件。该文件包含以下内容:

Manifest-Version: 1.0
Created-By: 1.6.0_22 (Sun Microsystems Inc.)

可能是什么问题呢?


阅读 365

收藏
2020-11-30

共1个答案

小编典典

您可以使用jar-e选项指定入口点,即主类。例如:

D:\NetBeans\trovanum3\build\classes> jar cfe trovanum.jar trovanum3.Main trovanum3\*.class

如果您在那里需要清单,则可以省去摆弄清单的麻烦。请注意,工作目录是您问题中引用目录的上 一级
目录。否则,将在jar的顶层创建Main类,而不是在反映该类所在目录的目录中创建Main类。 jar -tvf然后应显示如下内容:

  0 Thu Oct 21 22:34:30 BST 2010 META-INF/
 80 Thu Oct 21 22:34:30 BST 2010 META-INF/MANIFEST.MF
488 Thu Oct 21 22:18:24 BST 2010 trovanum3/Main.class

-e

将入口点设置为捆绑到可执行jar文件中的独立应用程序的应用程序入口点。使用此选项将创建或覆盖清单文件中的Main-
Class属性值。可以在创建jar文件期间或更新jar文件时使用此选项。此选项指定应用程序入口点,而无需编辑或创建清单文件。

2020-11-30