Jar error: could not find or failed to load main class

Jar error: could not find or failed to load main class

我构建了一个简单的 GUI,它接受无组织的 HTML 代码并对其进行组织...现在我终于可以使用它了,我需要学习如何分发它。我设法创建了我的 .jar 文件,但是当我尝试 运行 它时,我得到 "Error: could not find or failed to load main class HTMLFormatter.class"

这是我所做的:

首先,我转到项目目录中的 "bin" 文件夹并将所有适用的 class 文件复制到另一个单独的文件夹中(因为我不想不小心弄乱我的原始 class 文件)。在那个单独的文件夹中,我还创建了 manifest.txt,其中包含:

Manifest-Version: 1.0
Main-Class: HTMLFormatter.class
Class-Path: .

然后我从那个目录运行这个命令:

jar cfm HTMLFormatter.jar manifest.txt ./*.class

这就很好地创建了 JAR,我使用 winrar 查看内部,它包含所有正确的 class 文件,清单位于 META-INF 目录中。然后我尝试 运行 它,首先通过双击,虽然我什至不确定这是否应该工作......然后我尝试 运行 使用此命令通过命令行将其连接:

java -jar HTMLFormatter.jar

这是我收到错误消息的时间。然后我从这个网站上读到 post 暗示 windows 有时会使用 javaw...不要生成我的 GUI。

所以,我错过了什么?另外,当我终于弄清楚这一点时,我是否可以双击 jar 文件? (windows 8.1 64 位以防万一)

你的主要 class 定义是错误的。应该是Main-Class: com.my.example.HTMLFormatter

好吧,仍然不确定为什么我这样做的方式不起作用,但我现在确实通过 Eclipse 让它工作了。以下是我所做的供其他人将来参考:

  1. 在 Eclipse 中:文件 > 导出
  2. 展开 "Java" 部分,select "Runnable JAR File",单击下一步
  3. 对于 "launch configuration" 选择您的 class 和项目,它们以这种格式列出:"class name - project name"
  4. 单击 "Browse" 到 select 您的导出目的地(您希望放置 JAR 文件的位置)
  5. 标题为 "Library handling" 的部分我不完全理解,但默认选项(第一个)对我有用。
  6. 完成。
  7. 通过double-clicking对其进行测试

希望这对其他人有帮助!

干杯!