10

How can we add additional parameters to manifest file using Maven to third party jars. After Java 7_25 version the Java web start requires codebase and permissions to be add in all downloading jar files. I want to insert them jar singing time.

Please let me know if you need any information. Thanks in advance.

4

1 回答 1

4

我做了一个小蚂蚁脚本(这是一个摘录,实际上它也排除了一些加密文件)。

只需将目录属性值设置为包含要更新的 jar 的目录并启动目标“授予权限”。

它应该很容易与 maven-ant 一起使用:

<?xml version="1.0" encoding="UTF-8"?>
<project basedir="." name="project">
    <taskdef resource="net/sf/antcontrib/antcontrib.properties" />

    <property name="directory" value="WebContent/jnlpApplication" />

    <target name="give-permissions">
        <foreach target="_re-jar" param="currentFile" parallel="false">
            <path>
                <fileset dir="${directory}" casesensitive="yes">
                    <include name="**/*.jar" />
                </fileset>
            </path>
        </foreach>

        <move todir="${directory}" overwrite="true">
            <fileset dir="${directory}.tmp" casesensitive="yes">
                <include name="**/*.jar" />
            </fileset>
        </move>

        <delete dir="${directory}.tmp" />
    </target>

    <target name="_re-jar">
        <basename property="filename" file="${currentFile}" />

        <jar destfile="${directory}.tmp/${filename}">
            <zipfileset src="${currentFile}">
                <exclude name="META-INF/**.RSA" />
                <exclude name="META-INF/**.SF" />
            </zipfileset>
            <manifest>
                <attribute name="Permissions" value="all-permissions" />
                <attribute name="Codebase" value="*" />
                <attribute name="Application-Name" value="jnlpApplicationName" />
            </manifest>
        </jar>
    </target>
</project>
于 2013-10-31T01:35:29.133 回答