Java 7 Web启动问题与清单文件

时间:2013-12-04 11:39:27

标签: java swing java-web-start

我已升级到java 7,无法通过Java web start启动Swing应用程序。它说缺少3个清单属性:“Codebase”,“Permissions”和“Application-name”。

我在创建.jar时将这些缺少的属性添加到清单文件并对其进行签名。我最终可以在jar中看到这些属性。但是,当从Web启动时启动Swing GUI时,它表示缺少相同的错误3清单属性。

2 个答案:

答案 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文件已到位并具有安全标记