【发布时间】:2015-06-23 02:48:49
【问题描述】:
我在 NetBeans 中编写了一个程序,现在想与我的同事分享。但是,当他尝试在他的计算机上运行它时,会收到一条错误消息:
"Could not find the main class: excelcomparator.ExcelComparator. Program will exit."
这是令人困惑的部分:我在装有 NetBeans 的笔记本电脑上编写了此代码,为了确保它正常工作,将 dist 文件夹复制到闪存驱动器上,然后在我的计算机上运行它。它工作得很好。当我将它通过电子邮件发送给我的同事时,他收到了这个错误。
根据我所见,一些解决方案是从命令行运行 .jar。虽然这可能有效,但我需要该文件是可双击的。
我通过电子邮件将压缩文件夹中的文件发送给我的同事,解压缩整个文件夹是否也会弄乱 .jar 文件(不明白为什么应该这样做,但包含任何可能有帮助的内容)?
这是 .jar 文件中的 MANIFEST.mf。文件末尾有一个回车,只是没有很好地复制到这个文本框中:
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.9.4
Created-By: 1.7.0_71-b14 (Oracle Corporation)
Class-Path: lib/poi-3.12-20150511.jar lib/poi-examples-3.12-20150511.j
ar lib/poi-excelant-3.12-20150511.jar lib/poi-ooxml-3.12-20150511.jar
lib/poi-ooxml-schemas-3.12-20150511.jar lib/poi-scratchpad-3.12-2015
0511.jar
X-COMMENT: Main-Class will be added automatically by build
Main-Class: excelcomparator.ExcelComparator
我发送了 dist 文件夹,其中包括 lib 文件夹,其中包含所有其他 .jar。
如果我需要包含任何其他相关信息,请告诉我。谢谢!
【问题讨论】:
-
您的程序依赖于许多应该位于 lib 文件夹中的 jar 文件。您是否也将它们发送给您的同事?异常的完整堆栈跟踪是什么?从命令行使用 java -jar yourjar.jar。
-
@JBNizet 我的机器上没有抛出异常,我的同事也没有从命令行运行它。出现的唯一错误是带有错误消息的弹出窗口。我确实包含了额外的 jar 文件,并相应地将其编辑到了问题中。谢谢!
-
1.您的同事应该将 lib 文件夹与他尝试运行的 jar 文件放在同一目录中。他有吗?如果他只有dist文件夹,是不会捡到jar文件的 2.你的主类在包里吗?
-
让他从命令行运行它。另外,发布
jar tvf yourjar.jar的结果。