首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >获取目录中的jars列表,并将其发送到另一个ANT目标

获取目录中的jars列表,并将其发送到另一个ANT目标
EN

Stack Overflow用户
提问于 2013-11-19 22:13:03
回答 1查看 176关注 0票数 0

我有一个有罐子的目录。我没有他们的名字,我有一个目标,以jar的名称和它的位置,并对它进行操作。

代码语言:javascript
复制
<target name="addAttributes">
    <mkdir dir="${folderName}/Temp"/>
    <unzip src="${jarNamewtPath}" dest="${folderName}/Temp"/>
    <delete file="${jarNamewtPath}"/>
    <jar destfile="${jarNamewtPath}">
        <manifest>
            <attribute name="Application-Name" value="someValue"/>
            <attribute name="Trusted-Only" value="true"/>
            <attribute name="Codebase" value="*"/>
            <attribute name="Permissions" value="all-permissions"/>
        </manifest>
        <fileset dir="${folderName}/Temp" />
    </jar>
    <delete dir="${folderName}/Temp"/>
</target>

如何获得文件的名称并将其单独传递给这个目标。

代码语言:javascript
复制
<target name="getJars">
    <fileset id="getJars" dir="${someDir}/Jars">
        <include name="*.jar" />
    </fileset>
    ..... get list of jars
    <antcall target="addAttributes">
            <param name="folderName" value="${path}"/>
            <param name="jarNamewtPath" value="${path}/name.jar"/>
    </antcall> 
</target>

任何帮助/线索都将不胜感激。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-21 17:11:57

最好是每个构建只调用一次<target>。对于可以在构建中重复使用的共享功能,请考虑使用。

下面是一个使用第三方Ant-cont肋骨的 task反复调用addAttributes <macrodef>的示例

代码语言:javascript
复制
<project name="ant-for-macrodef" default="getJars">
    <taskdef resource="net/sf/antcontrib/antlib.xml" />

    <macrodef name="addAttributes">
        <attribute name="jar-path"/>
        <sequential>
            <echo>jar-path: @{jar-path}</echo>

            <!-- Make temp.dir locally scoped to this macrodef. -->
            <local name="temp.dir"/>
            <property name="temp.dir" value="myTempDir"/>

            <echo>Perform Jar operations here.</echo>
        </sequential>
    </macrodef>

    <target name="getJars">
        <fileset id="getJars" dir="${someDir}/Jars">
            <include name="*.jar" />
        </fileset>

        <for param="jar.file">
            <fileset refid="getJars"/>
            <sequential>
                <addAttributes jar-path="@{jar.file}"/>
            </sequential>
        </for>
    </target>
</project>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20083165

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档