尝试使用Java Web Start。我有一个签名的jar(在清单和重建修改后签名),jnlp,并且所有这些都放在非本地主机服务器上。
jnlp看起来像这样:
<jnlp spec="1.0+"
codebase="http://192.168.101.37/"
href="transform_player_webstart.jnlp">
<information>
<title>Transform Player</title>
<vendor>LCSI</vendor>
</information>
<resources>
<!-- Application Resources -->
<j2se version="1.6+"
href="http://java.sun.com/products/autodl/j2se"/>
<jar href="player.jar" main="true" />
</resources>
<application-desc
name="Transform Player"
main-class="ca.lcsi.Program.App.Player.PlayerStarter">
</application-desc>
<update check="background"/>
</jnlp>
Jar清单有以下内容:
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.8.2
Permissions: sandbox
Created-By: 1.6.0_45-b06 (Sun Microsystems Inc.)
Main-Class: ca.lcsi.Program.App.Player.PlayerStarter
Name: ca/lcsi/Program/Media/MediaEventListener.class
SHA1-Digest: ojqbdHWk++FfBoH7VQwCdhk600s=
...
(all other signed entries)
启动jnlp会出现以下错误:
由于缺少&#34;权限&#34;您的安全设置已阻止应用程序运行主jar中的manifest属性。
但我有它!那么,捕获的是什么?
答案 0 :(得分:1)
我的MANIFEST.MF
在我的项目中(使用Java 8) - 之前构建工件并签名:
Manifest-Version: 1.0
Application-Name: SgPrintApplet
Permissions: all-permissions
<blank line>
在jnlp
档案中,我已经添加了这个:
<security>
<all-permissions/>
</security>
此处链接:http://docs.oracle.com/javase/8/docs/technotes/guides/javaws/developersguide/syntax.html#security