2012-10-14 117 views
1

我创造了我的项目一个jar文件,但下面的警告出现了,当双击它,它不会打开jar文件无法打开

警告:[选项]没有设置引导类路径与-source 1.6 1警告结合

我使用NetBeans 7.0.1/Windows 7的

回答

1

警告不是必然使其可点击的问题。

要使JAR可执行文件,你必须指定“主”类JAR的“清单”的文件,例如:

Manifest-Version: 1.0 
    Main-Class: MyMainClass 

然后,您创建的jar文件,规定上述清单文件。如果是手动这样做,它的东西,如:

jar cvfm myapp.jar myManifest *.class 

如果创建从NetBeans中的JAR相反,我希望有一个设置为这样:

更新看到Producing executable jar in NetBeans有关信息。

如果不指定主类,那么JAR可以用作库,但不能直接作为程序执行,而不使用命令行脚本来指定要运行的类,例如,

java -cp myjar.jar com.myco.myproj.MyMainClass 

它运行的Java,把你的jar文件在类路径中(即让你的所有类),并指定MyClass是主类,即起点为您的应用。 MyClass必须有一个main方法定义,否则这将不起作用。

+0

对不起我的问题,但如何在JAR的'manifest'文件中指定'main'类? –

+0

具有完全限定名称,如'mypackage.myinnerpackage.MyMainClass'。 – ppeterka

+0

@DNA:谢谢任何方式,但我使用NetBeans,并且我不知道从哪里更改这些行。 –

0

的警告表明,有可能是Java版本的你的一些库之间的差异/依赖关系是w ritten和你编译你的项目的版本。

根据我的经验,这个警告通常可以忽略。但这当然是轶事。

将来,可以通过在Netbeans中-Xlint:-options的 “附加编译器选项”来禁用警告。

更多的官方解释可以在here找到。

+0

好的,但是当双击jar文件时,它不会打开? –

+0

它不打开,以便您可以看到jar/zip内容?还是不执行?如果你试图让它执行,你需要确保项目是以这种方式编译的。如果编译正确并且执行仍然是一个问题,那么我认为你碰到了一个为你的代码编译过的旧的JVM编写的依赖问题。 (如果是这样,你应该给我们更多的信息,看看我们能否确定哪个库是你的问题,以及是否有适合你的更新版本。) – theJollySin

+0

它不执行。我运行该项目没有错误,并且工作正常。 jar文件存在,但不能打开。 –