我不熟悉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>
我如何以及在何处将安全属性添加为沙箱。
答案 0 :(得分:2)
让我们澄清......
Ant-jnlp-war只需创建一个war,它允许你将你的应用程序分发给客户端并包含你的jar,这意味着你在调用ant-jnlp-war之前应该有jar 。
New security requirements for RIA与jar相关,因为您需要在META-INF / MANIFEST.MF中指定可从中分发站点应用程序:
清单属性
- 权限 - 在7u25中引入,从7u51开始需要。指示RIA是否应在沙箱中运行或是否需要完全权限。
- Codebase - 自7u25开始推出,自7u51起可选/鼓励。指向托管代码的已知位置(例如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