4

你好我有一个奇怪的问题。我正在用 eclipse 打包一个应用程序以生成一个可执行的 jar 文件,当我运行它时,我收到错误“错误找不到主类 [...]”。

当我从命令行示例运行相同的包时

java -jar app.jar

程序启动。

奇怪的是,该错误仅发生在 Java 7 环境中编译的应用程序中。

如果我将项目设置为 java 6 一切正常。

我应该怎么做才能运行 Java 7 jar 可执行文件?

谢谢你的帮助。

4

4 回答 4

1

检查你的 jre 的版本,如果它的 jre6 那么它可能是一个问题尝试将你的 jre 更新到 jre7 它可以做一个伎俩..

于 2012-05-01T07:52:11.450 回答
1

您需要在清单文件中设置主类

示例清单文件

Manifest-Version: 1.0
Created-By: 1.3.1 (Sun Microsystems, Inc.)
Main-Class: com.package.MainClassName
Class-Path: oc4j.jar

确保您已在示例 jar 文件中设置了所有这些内容

于 2012-05-01T09:39:34.987 回答
0

默认情况下,jar 是不可执行的

Java 档案更常用作库,其中jar 格式将代码压缩到单个文件夹中。此类代码通常不作为应用程序(独立)运行,但有规定通过Manifest 文件将 jar 文件转换为可执行应用程序

只需创建一个 Manifest 文件,指示哪个类包含“main”方法,以使您的 jar 可执行并将 Manifest 包含在您的 .jar 中

于 2012-05-01T10:04:15.223 回答
0

当 JVM 无法找到与 Jar 文件关联的主类时会出现此问题,JVM 使用 Manifest.mf 中的 Main-Class 属性来识别关联的主类

似乎您错过了将 Main-Class Attribute 添加到用于创建 JAr 的清单文件中,http://www.skylit.com/javamethods/faqs/createjar.html 可能会有所帮助

于 2012-05-01T07:50:07.400 回答