最终目标是使用Glassfish 4中的Java webstart提供应用程序客户端下载。
我已经尝试了三天,研究了我能找到的所有方法,无论我尝试了什么,网络启动都被阻止了。
-
异常列表。不起作用。
-
将证书添加为受信任的证书。不起作用。
-
不需要任何权限的沙盒。不起作用。
-
更新Java。不起作用。
-
我似乎找不到部署规则集选项,但这听起来像是需要完全的windows服务器集成等。
-
在Java控制台安全设置中没有介质选项,因为我使用的是Java 8.0.31。
-
简单的测试应用程序,除了将消息打印到命令行的静态主void外,什么都没有。无法使其工作。。。
使用webstart开发任何东西都是不可能的,这开始让我疯狂,我能看到的唯一选择是购买证书用于本地开发或完全放弃webstart。。。
How I added the certifacte to my machine
-证书显示在我的Java控制台中。
下面是我无法开始工作的简单场景:
package com.cbprogramming;
import javafx.application.Application;
import javafx.stage.Stage;
public class Main extends Application {
@Override
public void start(Stage primaryStage) throws Exception {
System.out.println("Test");
}
public static void main(String[] args) {
launch(args);
}
}
然后,我使用IntelliJ Idea创建了一个JavaFX应用程序,该应用程序将其打包,包括webstart jar文件、JNLP文件和html网页,其中包括用于权限的自定义清单字段:沙盒和代码库。
在JNLP文件中,我还尝试了安全和权限标签,包括所有权限和沙盒。
<?xml version="1.0" encoding="utf-8"?>
<jnlp spec="1.0" xmlns:jfx="http://javafx.com" href="WebstartTest.jnlp">
<information>
<title>Webstart Test</title>
<vendor>Testing</vendor>
<description>A Java Webstart testing app</description>
<offline-allowed/>
</information>
<resources>
<jfx:javafx-runtime version="8.0+" href="http://javadl.sun.com/webapps/download/GetFile/javafx-latest/windows-i586/javafx2.jnlp"/>
</resources>
<resources>
<j2se version="1.6+" href="http://java.sun.com/products/autodl/j2se"/>
<jar href="WebstartTest.jar" size="1190" download="eager" />
</resources>
<security>
<all-permissions/>
</security>
<applet-desc width="600" height="400" main-class="com.javafx.main.NoJavaFXFallback" name="WebstartTest" >
<param name="requiredFXVersion" value="8.0+"/>
</applet-desc>
<jfx:javafx-desc width="600" height="400" main-class="com.test.Main" name="WebstartTest" />
<update check="background"/>
</jnlp>
以及清单文件:
Manifest-Version: 1.0
permissions: sandbox
codebase: file:///d:/test/
JavaFX-Version: 8.0
Class-Path:
Created-By: JavaFX Packager
Main-Class: com.test.Main
Name: com/test/Main.class
SHA-256-Digest: 8BK5m/ojirCK/QEx8Oe+9z/L6P8JXin0CMDK4R2mkAI=
我已经将jnlp、jar和html文件添加到异常列表中,我已经尝试过使用file://和file:///,我也尝试过将glassfish URL添加到例外列表中,http和https。。。
我正在使用Jdk 8.0.31开发Win 8.1 pro机器。
我读过的每个论坛都有用户表示,这些选项中的任何一个都可以解决他们的问题。我做错了什么?!?8.0.31坏了吗?还是webstart不值得使用?