我有一个通过.jnlp
文件启动的 Java 小程序,但它被以下消息阻止:
The Java security settings have prevented this application from running. You may change this behaviour in the Java Control Panel.
我按照此处的说明使用 Java 控制面板进行了更改,但我仍然收到相同的消息。我将我的站点添加到例外 URL,并将 Java 7 和 8 控制面板的安全设置降低为中。
我还尝试在 Java 1.8 和 1.7 中进行编译,并尝试使用 Oracle 的 Java 7 和 8 web start 运行应用程序。我分别在 Ubuntu 和 Windows 7、Firefox 和 Chrome 上进行了测试,但都没有工作。
我也签了.jar
,如下:
jarsigner -keystore ~/.keystore -tsa http://timestamp.comodoca.com/rfc3161 MapApp.jar lucas
这是我的manifest.mf
:
Manifest-Version: 1.0
Permissions: all-permissions
Application-Name: Map Application Demonstration
Main-Class: visualization.USMaps
Codebase: *
Trusted-Only: true
Trusted-Library: true
这是我的.jnlp
文件:
<?xml version="1.0" encoding="UTF-8"?>
<jnlp spec="1.0+" codebase=
"" href="mapApp.jnlp">
<security>
<all-permissions/>
</security>
<information>
<title>Map Application Demonstration</title>
<vendor>Luke Swart</vendor>
</information>
<resources>
<!-- Application Resources -->
<j2se version="1.7+"
href="http://java.sun.com/products/autodl/j2se"/>
<jar href="MapApp.jar"
main="true" />
</resources>
<application-desc
name="MapApp"
main-class=
"visualization.USMaps"
width="300"
height="300">
</application-desc>
<update check="background"/>
</jnlp>
我从http://lukeswart.net/mapApp.html调用如下:
<body>
<script src=
"http://www.java.com/js/deployJava.js"></script>
<script>
// using JavaScript to get location of JNLP
// file relative to HTML page
var dir = location.href.substring(0,
location.href.lastIndexOf('/')+1);
var url = "mapApp.jnlp";
deployJava.createWebStartLaunchButton(url, '1.7.0');
</script>
</body>
甚至建议或参考也会有所帮助。在调整他们的安全设置并匹配他们的权限后,我找不到任何仍然有这个问题的人。有任何想法吗?