Java ANT在解压任务期间连接文件
这里是初学者。我有一个名为Neo的包,在它的build.xml中我遇到了一个问题。将Neo jar解压到这个扩展目录中时Java ANT在解压任务期间连接文件,java,ant,Java,Ant,这里是初学者。我有一个名为Neo的包,在它的build.xml中我遇到了一个问题。将Neo jar解压到这个扩展目录中时 <unzip src="${output.dir}/Scala2.11/Neo.jar" dest="${standalone.jar.expanded.jars.dir}"/> 我需要确保Neo.jar中的这个“targetFile”不会覆盖扩展目录中已经存在的“targetFile”,而是将自身连接到已经存在的“targetFile”。这是我目前的做法: &
<unzip src="${output.dir}/Scala2.11/Neo.jar" dest="${standalone.jar.expanded.jars.dir}"/>
我需要确保Neo.jar中的这个“targetFile”不会覆盖扩展目录中已经存在的“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任务?实际上,再看一遍,我觉得现在只有“targetFile”会因为patternset而被解压,但本质上我需要解压所有内容,只需对我解压的其中一个文件执行一些特殊操作。解压每个.jar文件时,需要排除src/services/targetFile条目,然后分别从每个存档中提取该条目:
<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>
这些依赖项jar文件是如何解压缩的?这是您在build.xml中显式执行的操作吗?是的,我正在尝试使用解压/连接来执行的当前ANT任务取决于解压这些依赖项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>