Добавить атрибут разрешений в манифест сторонних банках, используя maven

Как добавить дополнительные параметры для файла манифеста, используя Maven для сторонних баннеров. После версии Java 7_25 веб-запуск Java требует, чтобы кодовые базы и разрешения добавлялись во все файлы jar загрузки. Я хочу вставить их во время пения.

Пожалуйста, дайте мне знать, если вам нужна какая-либо информация. Спасибо заранее.

Ответ 1

i сделал немного ant script (это экстракт, на самом деле он также исключает некоторый криптографический файл).

просто установите значение свойства каталога в каталог, содержащий обновляемые банки, и запустите целевые "предоставить разрешения".

он должен быть прост в использовании с 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>