Java 为什么我得到:没有有效的JFX运行时

Java 为什么我得到:没有有效的JFX运行时,java,jnlp,Java,Jnlp,我有一个使用Java1.6编译并使用jnlp/webstart运行的现有应用程序。如果我使用JRE 1.6从客户端运行这个应用程序,一切都很好。但是,当我用java JDK 7编译代码并用JRE 1.7.67运行客户机时,我看到了java 7启动屏幕,似乎没有发生其他任何事情 下面我粘贴了日志文件…谁能给出应用程序未启动的好理由?另一件让我困扰的事情是,现有的代码是10年一次编写的,没有任何javaFX代码 Log started: wo, 24 dec 2014 15:59:52 +0100

我有一个使用Java1.6编译并使用jnlp/webstart运行的现有应用程序。如果我使用JRE 1.6从客户端运行这个应用程序,一切都很好。但是,当我用java JDK 7编译代码并用JRE 1.7.67运行客户机时,我看到了java 7启动屏幕,似乎没有发生其他任何事情

下面我粘贴了日志文件…谁能给出应用程序未启动的好理由?另一件让我困扰的事情是,现有的代码是10年一次编写的,没有任何javaFX代码

Log started: wo, 24 dec 2014 15:59:52 +0100
Java Plug-in 10.67.2.01
Using JRE version
 1.7.0_67-b01 Java HotSpot(TM) 64-Bit Server VM
basic: No valid JFX runtime at [C:\Program Files\Java\jre7\bin\javaw.exe]
basic: Running JVMParams: [JVMParameters: isSecure: true, args:]
    -> [JVMParameters: isSecure: true, args:]
temp: new XMLParser with source:
temp: <?xml version="1.0" encoding="utf-8"?>
<jnlp spec="1.0+" codebase="http://localhost/test" href="db/webstart/cache.jnlp">
  <information>
    <title>Test app</title>
    <vendor>Implemented by Test</vendor>
    <description>Cache Cleaner</description>
  </information>
  <security>
    <all-permissions/>
  </security>
  <resources>
    <j2se version="1.7" />
    <property name="user.language" value="nl"/>
    <property name="user.country" value="NL"/>

    <jar href="lib/test.jar" main="true"/>
  </resources>

  <application-desc main-class="org.test.jnlp.CacheCleaner" >
    <argument>http://localhost/test.jnlp</argument>
  </application-desc>
</jnlp>
日志开始:wo,2014年12月24日15:59:52+0100
Java插件10.67.2.01
使用JRE版本
1.7.0_67-b01 Java HotSpot(TM)64位服务器虚拟机
基本:在[C:\Program Files\Java\jre7\bin\javaw.exe]中没有有效的JFX运行时
基本:运行JVMParams:[JVMParameters:isSecure:true,args:]
->[JVMParameters:isSecure:true,args:]
temp:新的XMLParser,源代码为:
临时雇员:
测试应用程序
通过测试实现
缓存清理器
http://localhost/test.jnlp

在内存中,当我一两年前升级JDK时,我还注意到JavaWS应用程序不再成功启动

通过谷歌搜索,我发现默认的安全设置已经改变了

您可能会遇到同样的问题,因此您可能必须将一些URL添加到允许的列表中


在linux系统上,我相信这是通过从JDK运行jcontrol实现的。

由于您没有JavaFX代码,“没有有效的JFX运行时”消息不太可能与您的问题有关。我会在代码中寻找捕捉异常而不记录/包装/重新抛出异常的地方。从主服务器独立运行应用程序可以很好地使用Java1.7。jnlp配置文件似乎在1.7和更高版本上有问题……我是否需要更改jnlp规范版本,使其能够在Java7和更高版本上工作?