Netbeans Jar文件未执行

时间:2013-08-01 20:25:46

标签: java jar netbeans-7

我一直在使用Netbeans(7.4开发版)开发一个项目,我想测试jar可分发的。当我使用'java -jar filename.jar'时,程序运行正常。但是当我尝试双击jar文件时,我收到了这样的错误:Error: Could not find or load main class W:\pathtoproject\dist\jarname.jar

这没有意义,我从未见过jar文件认为它是主类的错误。我在项目属性中定义了主类。我解压缩了jar文件,发现Manifest文件定义了正确的主类。我该如何解决这个错误?

编辑:jar文件中的清单包含:

Manifest-Version: 1.0
Ant-Version: Apache Ant 1.9.1
Created-By: 1.7.0_21-b11 (Oracle Corporation)
Class-Path: 
X-COMMENT: Main-Class will be added automatically by build
Main-Class: Driver

Driver确实有通常的主要方法。

编辑2 :我不知道它是否有所作为,但我的驱动程序和其他一些重要的类不属于任何软件包。只打包辅助类。我接受过艰苦编码的训练(即记事本和cmd),所以我不习惯使用Netbeans提供的所有功能(例如打包)。

4 个答案:

答案 0 :(得分:0)

NetBeans提供的用于制作可执行jar的选项实际上非常有用。我发现制作jar文件的唯一更好的工具是在Eclipse中制作jar文件的向导。我强烈建议您使用这些工具之一。

Eclipse可执行jar创建向导值得为Eclipse下载。使用向导一次后,您可以保存ANT脚本,以便您可以根据需要返回使用命令行。 Eclipse向导可以执行高级且非常有用的任务,例如将代码及其所有必需的库打包到一个独立的可执行jar文件中。

要在Eclipse中访问向导,请转到“文件” - > “出口......” - > “Java” - > “Runnable JAR文件”。

如果您仍想使用NetBeans,请转到“运行” - > “设置项目配置” - > “自定义......” - > “构建” - > “打包”并选择“编译后构建JAR”。在制作jar之前,您可能需要进行干净的构建。您的jar将显示在项目文件根目录的“dist”文件夹中。

答案 1 :(得分:0)

对于jar可执行文件,你必须关注清单文件中的两件事:

  1. “Main-Class”条目必须指向将要启动应用程序的类,即您声明启动应用程序的主要方法的类。
  2. 在清单文件上的所有条目之后,你必须留下三行空白(我从未找到过解释为什么需要这些文件的文档,但总是对我有用)。
  3. 您可以使用此tool来检查Netbeans生成的jar文件是否符合该文件。

    希望我有所帮助。

答案 2 :(得分:0)

事实证明我的工作电脑是问题所在。公司设置使jar文件无法正常执行。当我在我的个人笔记本电脑上试用jar时,它运行正常。从那里我把它包装成一个可执行文件并继续我的快乐方式。

答案 3 :(得分:0)

您的项目必须包含两个或三个java文件,其中一个是java文件,另一个是具有帧编码的frame.java文件。

在同一项目下的java文件中创建框架文件的对象,然后清理并构建项目。

例如,如果您的项目名称为project11,并且在其下有两个名为project11.java和project11frame.java的文件,则在project11.java中创建对象:

project11frame pf = new project11frame();
pf.setVisible(true); 

然后清理并构建您的项目!