我对 Java 很陌生,对 webstart 技术也很陌生。我一直在修补 jnlp xml 文件,以尝试获得所需的“运行此应用程序,如果 JavaFX 不在您的系统中,则可选择安装它”行为。这是我的 jnlp 文件:
<?xml version='1.0' encoding='UTF-8' ?>
<jnlp spec='1.0' xmlns:jfx="http://javafx.com" codebase='http://localhost/java/app' href='launcher.jnlp'>
<information>
<title>Test Launcher</title>
<vendor>OzBarry</vendor>
<description kind='one-line'>
Test Launcher/JNLP/Webstart Demo
</description>
</information>
<resources>
<jfx:javafx-runtime version="2.1+" href="http://javadl.sun.com/webapps/download/GetFile/javafx-latest/windows-i586/javafx2.jnlp"/>
</resources>
<resources>
<j2se version='1.6+' />
<property name="jnlp.packEnabled" value="true" />
<property name="jnlp.versionEnabled" value="true" />
<jar href='launcher.jar' main='true' />
</resources>
<application-desc main-class='demo.DemoLauncher' />
<update check="prompt-update"/>
</jnlp>
当我启动我的应用程序时,它会提示我下载 javafx(即使它已经安装,这有点烦人),一旦完成,它会尝试启动应用程序,但会停止并出现错误,类似于“where is the javafx 运行时,因为我不知道!?”
我在带有 Java 1.7(Java SE 运行时环境 7u5)的 Windows 7 32 位上,并且它是全新安装的(我之前完全卸载了 java,清除了我的临时文件,并进行了全新安装)。