我不熟悉像Ant这样的
java构建工具.我们有一个旧的
java web start应用程序,现在使用
new security requirements for RIAs我必须在我的build.xml中添加一个安全标记但是我无法弄清楚如何做到这一点.我正在使用ant deploy来构建我的应用程序.我也在使用ant-jnlp-war(我真的无法弄清楚这个ant-jnlp-war的使用位置)我的build.xml的相关部分如下:
<target name="pack" depends="buildinfo,dist,sign">
<jw:jnlpwar
tofile="${war}/lmc.war"
title="Company Management Console"
vendor="Company Teknoloji"
codebase="dummy"
signStorepass="secret"
signAlias="labris">
<jw:description>Company Management Console</jw:description>
<jw:description kind="short">LMC</jw:description>
<jw:shortcut desktop="true" menu="true" submenu="Company Management Console"/>
<jw:j2se minVersion="1.5" args="-Xmx128M" />
<lib dir="${dist}/lib">
<include name="**/*.jar"/>
<exclude name="client.jar"/>
</lib>
<lib dir="${dist}/modules">
<include name="**/*.jar"/>
</lib>
<jw:application mainclass="com.idealteknoloji.lmc.client.ClientManager" jar="${dist}/lib/client.jar"/>
</jw:jnlpwar>
<exec executable="./make-client-packages"/>
</target>
如何以及在何处将安全属性添加为沙箱.
最佳答案 让我们澄清一下……
Ant-jnlp-war只是创建战争,允许你将你的应用程序分发给客户端并包含你的jar,这意味着在调用ant-jnlp-war之前你应该有jar.
New security requirements for RIA与jar相关,因为您需要在META-INF / MANIFEST.MF中指定可从中分发站点应用程序:
Manifest Attributes
- Permissions – Introduced in 7u25, and required as of 7u51. Indicates if the RIA should run within the sandbox or require full-permissions.
- Codebase – Introduced in 7u25 and optional/encouraged as of 7u51. Points to the known location of the hosted code (e.g. intranet.example.com).
当我们澄清你不需要改变ant-jnlp-war时,你需要在jar中拥有正确的MANIFEST.MF.
这里有两个选择:
>使用Ant任务创建MANIFEST.MF like并对其进行配置,example:
<jar destfile="test.jar" basedir=".">
<include name="build"/>
<manifest>
<attribute name="Permissions" value="sandbox">
<attribute name="Codebase" value="example.com">
</manifest>
</jar>
>手工创建MANIFEST.MF并将文件夹放在META-INF文件夹下
Manifest-Version: 1.0
Created-By: 1.7.0_51
Permissions: sandbox
Codebase: www.java.com