Java 将属性添加到JAR';通过ANT任务的清单

Java 将属性添加到JAR';通过ANT任务的清单,java,ant,jar,Java,Ant,Jar,我只是被一个问题困住了。我有14个第三方JAR。我正在通过ant任务使用comodo代码签名证书成功地对这些JAR进行签名 现在我想在签署这些jar时,向jar的清单文件添加一些属性, 我该怎么做 我在jar任务中找到了一些清单任务,但在签名时没有找到任何内容 所有这些JAR都是第三方JAR,并且已经打包,所以我认为不需要从源代码处编译和打包它们 谢谢您可能需要对每个jar文件执行类似的操作: <unzip src="${jar.file.location}" dest="${manife

我只是被一个问题困住了。我有14个第三方JAR。我正在通过ant任务使用comodo代码签名证书成功地对这些JAR进行签名

现在我想在签署这些jar时,向jar的清单文件添加一些属性,

我该怎么做

我在jar任务中找到了一些清单任务,但在签名时没有找到任何内容

所有这些JAR都是第三方JAR,并且已经打包,所以我认为不需要从源代码处编译和打包它们


谢谢

您可能需要对每个jar文件执行类似的操作:

<unzip src="${jar.file.location}" dest="${manifest.dest.dir}">
    <patternset>
        <include name="**/MANIFEST.MF"/>
    </patternset>
</unzip>

<manifest file="${manifest.dest.dir}/MANIFEST.MF" mode="update">
    <attribute name="${myAttribute}" value="${myAttributeValue}"/>
</manifest>

<jar update="true" destfile="${jar.file.location}" basedir="${manifest.dest.dir}"/>

您可能需要对每个jar文件执行类似的操作:

<unzip src="${jar.file.location}" dest="${manifest.dest.dir}">
    <patternset>
        <include name="**/MANIFEST.MF"/>
    </patternset>
</unzip>

<manifest file="${manifest.dest.dir}/MANIFEST.MF" mode="update">
    <attribute name="${myAttribute}" value="${myAttributeValue}"/>
</manifest>

<jar update="true" destfile="${jar.file.location}" basedir="${manifest.dest.dir}"/>

您可能需要对每个jar文件执行类似的操作:

<unzip src="${jar.file.location}" dest="${manifest.dest.dir}">
    <patternset>
        <include name="**/MANIFEST.MF"/>
    </patternset>
</unzip>

<manifest file="${manifest.dest.dir}/MANIFEST.MF" mode="update">
    <attribute name="${myAttribute}" value="${myAttributeValue}"/>
</manifest>

<jar update="true" destfile="${jar.file.location}" basedir="${manifest.dest.dir}"/>

您可能需要对每个jar文件执行类似的操作:

<unzip src="${jar.file.location}" dest="${manifest.dest.dir}">
    <patternset>
        <include name="**/MANIFEST.MF"/>
    </patternset>
</unzip>

<manifest file="${manifest.dest.dir}/MANIFEST.MF" mode="update">
    <attribute name="${myAttribute}" value="${myAttributeValue}"/>
</manifest>

<jar update="true" destfile="${jar.file.location}" basedir="${manifest.dest.dir}"/>


您好,谢谢bill的快速回答,但是有没有一种方法可以像任何循环逻辑一样为所有jar实现自动化?我对ant有点生疏,但我不这么认为。但是,您可以将我建议的解决方案放在一个目标Foo中,然后有一个单独的目标栏,使用AntCall为每个jar文件调用Boo,在该栏中,您可以通过调用将一些属性(jar.file.location)设置为文件位置。是的,这是一个棘手的问题,但这是我过去解决这类问题的方式。我还没有用过它,但我听说常春藤是一个很好的依赖管理工具,它也可能为你解决这个问题。嗨,谢谢bill的快速回答,但是有没有一种方法可以像任何循环逻辑一样对所有的罐子进行自动化呢?我对ant有点生疏,但我不这么认为。但是,您可以将我建议的解决方案放在一个目标Foo中,然后有一个单独的目标栏,使用AntCall为每个jar文件调用Boo,在该栏中,您可以通过调用将一些属性(jar.file.location)设置为文件位置。是的,这是一个棘手的问题,但这是我过去解决这类问题的方式。我还没有用过它,但我听说常春藤是一个很好的依赖管理工具,它也可能为你解决这个问题。嗨,谢谢bill的快速回答,但是有没有一种方法可以像任何循环逻辑一样对所有的罐子进行自动化呢?我对ant有点生疏,但我不这么认为。但是,您可以将我建议的解决方案放在一个目标Foo中,然后有一个单独的目标栏,使用AntCall为每个jar文件调用Boo,在该栏中,您可以通过调用将一些属性(jar.file.location)设置为文件位置。是的,这是一个棘手的问题,但这是我过去解决这类问题的方式。我还没有用过它,但我听说常春藤是一个很好的依赖管理工具,它也可能为你解决这个问题。嗨,谢谢bill的快速回答,但是有没有一种方法可以像任何循环逻辑一样对所有的罐子进行自动化呢?我对ant有点生疏,但我不这么认为。但是,您可以将我建议的解决方案放在一个目标Foo中,然后有一个单独的目标栏,使用AntCall为每个jar文件调用Boo,在该栏中,您可以通过调用将一些属性(jar.file.location)设置为文件位置。是的,这是一个棘手的问题,但这是我过去解决这类问题的方式。我还没有用过它,但我听说常春藤是一个很好的依赖管理工具,它也可能为你解决这个问题。