有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java使用maven在清单第三方JAR中添加权限属性

如何使用Maven到第三方JAR向清单文件添加额外参数。在Java 7_25版本之后,Java web start要求在所有下载的jar文件中添加代码库和权限。我想在唱歌的时候把它们放进去

如果你需要任何信息,请告诉我。提前谢谢


共 (1) 个答案

  1. # 1 楼答案

    我制作了一个小ant脚本(这是一个摘录,实际上它还排除了一些加密文件)

    只需将目录属性值设置为包含要更新的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>