Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/342.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
运行.jar文件Java8_Java_Eclipse_Jar - Fatal编程技术网

运行.jar文件Java8

运行.jar文件Java8,java,eclipse,jar,Java,Eclipse,Jar,我以前运行过.jar文件,但遇到了“不同”的情况,我不知道该怎么办。如果有人能帮我,我将不胜感激 以前,我用Java6编程,EclipseJuno将我所有的程序导出到可运行的jar文件中。我会得到一个.jar文件,只要双击它就可以运行它。这些文件看起来总是这样的(注意jar文件图标): 最近,我用EclipseLuna(4.4.0版)用Java 8编写了一个程序,并将其导出到一个可运行的jar文件中,我得到了一些不同的东西(注意不同的文件图标): 当我双击它时,它不再运行。相反,我的计算机解

我以前运行过.jar文件,但遇到了“不同”的情况,我不知道该怎么办。如果有人能帮我,我将不胜感激

以前,我用Java6编程,EclipseJuno将我所有的程序导出到可运行的jar文件中。我会得到一个.jar文件,只要双击它就可以运行它。这些文件看起来总是这样的(注意jar文件图标):

最近,我用EclipseLuna(4.4.0版)用Java 8编写了一个程序,并将其导出到一个可运行的jar文件中,我得到了一些不同的东西(注意不同的文件图标):

当我双击它时,它不再运行。相反,我的计算机解压jar,就像解压zip文件一样。我试着从终端运行它。我将cd光盘转到目录并键入

java -jar graph3D.jar
我收到以下错误消息:

Error: Unable to access jarfile graph3D.jar
解压缩jar文件后,我发现一个名为META-INF的文件夹,其中包含清单文件manifest.MF。这是唯一一个看起来像可执行文件的文件。我一定要做些什么吗

有人能解释一下我如何运行第二个jar文件graph3D.jar吗?它是Java8的新功能,还是EclipseLuna的不同之处,还是其他什么

(顺便说一句,这两个程序在Eclipse中都运行良好)

谢谢你的时间和帮助

编辑:

如果有人感兴趣,下面是Eclipse显示的对话框

选择“Use.jar;.zip”将生成文件名“graph3D.jar;.jar;*.zip”

选择“Use.zip”使文件名为“graph3D.jar;*.zip”

选择“取消”不允许继续

您必须手动删除额外的文件扩展名


导出文件时,文件对话框的过滤器(
*.jar;*.zip
)会附加到文件名,即
graph3D.jar;*。jar;*。zip,而不是
graph3D.jar
。Java找不到它,因为它没有您提供的名称。重命名文件,并在下次导出时密切注意;要么是你触犯了什么,要么是你触发了一个需要修复的重大错误。

我建议你在IDE上的项目文件夹下(在你的工作区中)构建项目后,访问构建文件夹,复制库文件夹和.jar,并将它们发布到你想“安装”的任何地方,然后,您将拥有一个可以顺利运行的可执行jar,正如我所说的不要忘记lib文件夹。

我认为Java 8中没有任何与运行jar相关的新内容,我想您需要检查Eclipse导出问题,您的第二个jar文件中似乎缺少了您的类

所有扩展名
.jar;*都有什么用。jar;*。我不确定。。。Eclipse就是这么做的。。。在名字的末尾写着“你已经使用了扩展名“.zip”。标准扩展名是“.jar;*.zip”。“谢谢chrylis!”!现在已经修好了。我不知道为什么Eclipse添加了.jar;。拉链。我将在Eclipse提供给我的对话框中进行编辑。我会尽快接受你的回答。