我有一个Java applet,我通过.jnlp
文件启动,但它被以下消息阻止:
The Java security settings have prevented this application from running. You may change this behaviour in the Java Control Panel.
我使用Java控制面板在instructions here之后更改了此内容,但我仍然收到相同的消息。我将我的站点添加到例外URL,并将Java 7和8控制面板的安全设置降低到中等。
我还尝试在Java 1.8和1.7中进行编译,并尝试使用Oracle的Java 7和8 Web启动来运行该应用程序。我分别在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>
即使是建议或参考也会有所帮助。在调整安全设置并匹配其权限后,我找不到仍有此问题的人。有什么想法吗?
答案 0 :(得分:0)
我希望这会有所帮助,但在manifest.mf
中,我注意到Permissions
键值对在末尾有一个额外的空格。 .jar
清单中的键值对必须是EXACT String匹配。
Manifest-Version: 1.0
Permissions: all-permissions
Application-Name: Map Application Demonstration
Main-Class: visualization.USMaps
Codebase: *
Trusted-Only: true
Trusted-Library: true
我希望他们在构建jar之前修剪了键值对...