Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/371.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
Java 双击后不启动.jar文件_Java_Windows_Eclipse_Jar - Fatal编程技术网

Java 双击后不启动.jar文件

Java 双击后不启动.jar文件,java,windows,eclipse,jar,Java,Windows,Eclipse,Jar,我对Eclipse创建的.jar文件有问题 我的问题是,由Eclipse的JavaFX应用程序创建的.jar文件不会以.jar文件启动。 如果您尝试双击启动它们,则只会出现一秒钟蓝色的“加载”小圆圈 如果我使用cmd启动.jar文件,或者使用“java-jar xxx.jar”命令启动powershell文件,那么启动时不会出现任何问题 在Eclipse中导出.jar文件(可运行的jar文件)时,我选择项目的主类作为启动配置,选择“将所需库提取到生成的jar”作为库处理 我已经安装了JDK 11

我对Eclipse创建的
.jar
文件有问题

我的问题是,由Eclipse的JavaFX应用程序创建的
.jar
文件不会以
.jar
文件启动。 如果您尝试双击启动它们,则只会出现一秒钟蓝色的“加载”小圆圈

如果我使用cmd启动
.jar
文件,或者使用“java-jar xxx.jar”命令启动powershell文件,那么启动时不会出现任何问题

在Eclipse中导出
.jar
文件(可运行的jar文件)时,我选择项目的主类作为启动配置,选择“将所需库提取到生成的jar”作为库处理

我已经安装了JDK 11和8以及JRE 8

我在设置中查找了
.jar
文件类型的默认应用程序。 对于
.jar
文件,“Java(TM)平台SE二进制文件”显示为
.jar
文件的默认应用程序。 我不知道它代表哪个版本的Java,但我认为它是JRE

然后,我还尝试使用“右键单击->打开->选择另一个应用程序”在其他Java安装中启动
.jar
文件,然后我选择了JDK 11和8的javaw.exe,但这两次都只出现了蓝色的“加载”圆圈

我在互联网和stackoverflow上做了一些研究,但没有找到解决我问题的答案

我正在使用Windows 10和Eclipse 2019-06。 JavaFX应用程序使用jdk8

MANIFEST.MF:

Manifest-Version: 1.0

Main-Class: application.Main

Class-Path: .


Name: about.html

SHA-256-Digest: 1fuYr0bu6NsJZCAmSom5QtnvnV0Cg8DwLn77Dd1Ql24=


Name: jfx8.cssext

SHA-256-Digest: b2p9PXeoxqnTdYgBFeKp3s7J9PajukOS3sGqyM4s36I=

文件类型关联或OpenWith功能以及双击的问题在于,应用程序(在您的示例中为javaw.exe或java.exe)在执行时没有参数,或者更准确地说,只有一个参数—jar文件的名称。 这是自Windows XP以来的一个已知问题。以前,您可以将ftype用作assoc命令:

ftype MyJAR=C:\your java path\java.exe -jar "%1"
assoc .jar=MyJAR
但在较新的Windows版本中,它将更新HKLM\Software\Class的注册表项,而不是HKCU(优先)的注册表项。 我建议使用Nir Sofer编写的nice免费实用程序 它支持Windows10,您将能够正确地定义-jar参数