我已升级到java 7,无法通过Java web start启动Swing应用程序。它说缺少3个清单属性:“Codebase”,“Permissions”和“Application-name”。
我在创建.jar时将这些缺少的属性添加到清单文件并对其进行签名。我最终可以在jar中看到这些属性。但是,当从Web启动时启动Swing GUI时,它表示缺少相同的错误3清单属性。
答案 0 :(得分:1)
您需要更新JNLP中的这些项目,而不是jar,因为您是通过webstart启动的。
示例来自:http://docs.oracle.com/javase/tutorial/deployment/webstart/deploying.html
<jnlp spec="1.0+" codebase=
"http://docs.oracle.com/javase/tutorialJWS/samples/deployment/webstart_ComponentArch_DynamicTreeDemo"
href="dynamictree_webstart.jnlp">
<information>
<title>Dynamic Tree Demo</title>
<vendor>Dynamic Team</vendor>
</information>
<resources>
<!-- Application Resources -->
<j2se version="1.7+"
href="http://java.sun.com/products/autodl/j2se"/>
<jar href="DynamicTreeDemo.jar"
main="true" />
</resources>
<application-desc
name="Dynamic Tree Demo Application"
main-class=
"webstartComponentArch.DynamicTreeApplication"
width="300"
height="300">
</application-desc>
<update check="background"/>
</jnlp>
对于您可能需要安全标记的权限,以下是有关该标记的文章:http://lopica.sourceforge.net/ref.html#security
默认情况下,每个应用程序都在受限执行中运行 环境(又名沙箱)。如果应用程序在安全沙箱中运行,则必须 遵循以下限制:
无法访问本地磁盘。你的所有罐子都必须从中下载 同一主持人。但请注意,您可以下载扩展和JRE 来自任何主机,只要他们签名和信任。网络 只允许连接您的罐子的主机 下载。 (“电话限制。”)没有安全经理可以 安装。没有本地库(甚至没有扩展名)。有限 访问系统属性。 (该应用程序具有读/写访问权限 jnlp文件中定义的所有系统属性,以及只读 访问与applet相同的属性集(请参阅系统属性 可用于未签名的应用程序以获取完整列表。)如果您指定 所有权限,应用程序可以做任何想做的事情并具有完全访问权限 到用户的机器和本地网络。
内容
所有权限?,j2ee-application-client-permissions?
<security>
<all-permissions/>
</security>
答案 1 :(得分:0)
你提供的链接清楚地说更新jar不知道你为什么说jnlp文件。 JNLP文件已到位并具有安全标记