【问题标题】:Could not find the main class. Program will exit无法找到主类。程序将会退出
【发布时间】:2012-03-23 07:52:07
【问题描述】:

我用 netbeans 制作了一个 Java 应用程序,并制作了一个 jar 文件(带有构建项目按钮)

.jar 文件正在我的电脑上运行。我尝试在其他电脑上运行它(我已经安装了 java jre) 我有错误消息“找不到主类。程序将退出”

我的主类叫做 login.class 我打开了jar文件的manifest.mf,看起来没问题

Manifest-Version: 1.0
Ant-Version: Apache Ant 1.8.2
Created-By: 1.7.0_02-b13 (Oracle Corporation)
Class-Path: lib/mysql-connector-java-3.1.14-bin.jar lib/beansbinding-1
 .2.1.jar lib/jcalendar-1.4.1.v201109071408.jar lib/jgoodies-common-1.
 2.0.jar lib/jgoodies-looks-2.4.1.jar lib/junit-4.6.jar
X-COMMENT: Main-Class will be added automatically by build
Main-Class: login

【问题讨论】:

  • 尝试在清单文件的类路径中添加.
  • 在包含所需 jar 的 jar 文件旁边是否有 lib 目录?
  • @Jigar Joshi:我认为如果缺少 jars 会出现 ClassNotFoundException,而不是这样的问题。
  • 你的包中有主类吗?如果是这样,请将 mainclass 标记更改为 Main-Class: ThePacket.login。另外,请注意类名应以大写字母开头,并且区分大小写。因此,请确保您的课程确实被称为登录而不是登录
  • 感谢我所有名为 login 的主类,它位于 上并包含在 jar 文件中。我怎样才能写到主类标签

标签: java


【解决方案1】:

(1) 如果您从控制台调用应用程序,则检查应用程序是否启动:

java -jar myjar.jar

如果可行(并且您之前尝试过从资源管理器窗口启动应用程序),那么很可能是 windows(或您使用的任何操作系统)的配置问题

(2) 使用任何 zip 工具检查您的 jar 文件 - 它需要在 jar 根目录中包含一个文件 login.class

(3) 如果您手动将最后一行添加到清单中:请确保清单文件以空行结尾,否则将不会解析最后一行。

【讨论】:

  • 我尝试运行到我的电脑 C:\MyApp2>java -jar MyApp2.jar 错误:无法访问 jarfile MyApp2.jar 但是当我双击 jar 文件时,它运行(到我的电脑)到其他电脑我有错误找不到主类。程序将退出
  • 第一个错误让我很困惑——看起来MyApp2.jar 不在当前目录中。另一个表明,我们对 jar 没有问题,但对计算机的配置有问题:它们启动应用程序的方式不同。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-13
  • 2011-11-28
  • 2011-03-31
  • 1970-01-01
  • 2012-12-28
相关资源
最近更新 更多