代码之家  ›  专栏  ›  技术社区  ›  Trock Fuller

解压任务期间ANT连接文件

  •  1
  • Trock Fuller  · 技术社区  · 6 年前

    这里是蚂蚁初学者。我有一个名为Neo的软件包,正在构建中。xml我遇到了一个问题。在将Neo jar解压缩到这个扩展目录时,

    <unzip src="${output.dir}/Scala2.11/Neo.jar" dest="${standalone.jar.expanded.jars.dir}"/>
    

    扩展目录中有一个名为“targetFile”的文件 在上述解压步骤中,会被Neo中另一个名为“targetFile”的文件覆盖。路径下的jar

    src/services/targetFile
    

    我需要确保Neo中的“targetFile”。jar不会覆盖扩展目录中已经存在的“targetFile”,而是将自身连接到已经存在的“targetFile”。这是我目前的做法:

    <unzip src="${output.dir}/Scala2.11/Neo.jar" dest="${standalone.jar.expanded.jars.dir}">
      <patternset>
        <include name="src/services/targetFile"/>
      </patternset>
    </unzip>
    

    一旦我匹配了patternset中的文件,在语法上,当我事先不知道扩展目录中存在“targetFile”的路径时,我将如何使用ANT的Concat任务?事实上,再次看到这一点让我想到,由于patternset,现在只有“targetFile”将被解压缩,但本质上我需要解压缩所有内容,只需对我要解压缩的文件之一执行一些特殊的操作。

    1 回复  |  直到 6 年前
        1
  •  1
  •   VGR    6 年前

    解压每个条目时,需要排除src/services/targetFile条目。jar文件,然后分别从每个归档中提取该条目:

    <unzip src="${output.dir}/Scala2.11/Neo.jar" dest="${standalone.jar.expanded.jars.dir}">
        <patternset excludes="src/services/targetFile"/>
    </unzip>
    <unzip src="path/to/lib01.jar" dest="${standalone.jar.expanded.jars.dir}">
        <patternset excludes="src/services/targetFile"/>
    </unzip>
    <unzip src="path/to/lib02.jar" dest="${standalone.jar.expanded.jars.dir}">
        <patternset excludes="src/services/targetFile"/>
    </unzip>
    <unzip src="path/to/lib03.jar" dest="${standalone.jar.expanded.jars.dir}">
        <patternset excludes="src/services/targetFile"/>
    </unzip>
    <unzip src="path/to/lib04.jar" dest="${standalone.jar.expanded.jars.dir}">
        <patternset excludes="src/services/targetFile"/>
    </unzip>
    
    <concat destfile="${standalone.jar.expanded.jars.dir}/src/services/targetFile">
        <zipentry zipfile="${output.dir}/Scala2.11/Neo.jar" name="src/services/targetFile"/>
        <zipentry zipfile="path/to/lib01.jar" name="src/services/targetFile"/>
        <zipentry zipfile="path/to/lib02.jar" name="src/services/targetFile"/>
        <zipentry zipfile="path/to/lib03.jar" name="src/services/targetFile"/>
        <zipentry zipfile="path/to/lib04.jar" name="src/services/targetFile"/>
    </concat>