Java Web Start清单问题

我试图通过java web start制作swing-app可再发行组件。 我用netbeans 7.4构建jar和jnlp。

我通过网络下载应用程序时收到此消息。(抱歉西class牙语)但它说manifest.mf不包含权限属性。

在此处输入图像描述

我没有使用受信任的认证(由CA)我自己使用netbeans工具创建了密钥库。

在我投入的project.properties

 # Optional override of default Codebase manifest attribute, use to prevent RIAs from being repurposed manifest.custom.codebase=http://150.1.1.32:8084/ # Optional override of default Permissions manifest attribute (supported values: sandbox, all-permissions) manifest.custom.permissions=all-permissions manifest.file=manifest.mf 

当我看到从主jar和所有依赖jar生成jar清单后,jar具有属性all-permissions

 Permissions: all-permissions Created-By: 1.7.0_45-b18 (Oracle Corporation) Main-Class: com.onix.sirf.gui.executors.SwingExecutor Codebase: http://150.1.1.32:8084/ 

这是我的jnlp

    title blabla  Some description HelloWorld             -- there are some more libraries  -- here is one more library sqljdbc4.jar     

jnlpcomponent1.jnlp

   jnlpcomponent1 MSFTSIG          

我解决了

jnlpcomponent1.jnlp我看到sqljdbc4.jar已经由microsoft签名。

当我查看它的manifest.mf它没有属性Permissions: all-permissions 。 所以我从sqljdbc4.jar删除所有清单文件并放入一个空文件(也删除MSFTSIG.SFMSFTSIG.RSA )。 现在使用我的签名和Permissions: all-permissions再次构建应用程序Permissions: all-permissions清单文件中的Permissions: all-permissions并且像魅力一样工作。