基本上我想删除文件并将文件添加到恰好位于另一个jar文件中的jar文件中。如果没有完全解压缩jar文件并重新打包它们,这可能吗?
如果有一个蚂蚁脚本,会很棒。
答案 0 :(得分:0)
Is this possible without completely extracting the jar files and repacking them again?
- for addition / updation : Yes
- for deletion : NO.
however, instead of using the manual option, there's an alternative:
<zip>
<zipfileset/>
</zip>
<move/>
parent.jar
|__child.jar
| |
| |__some files..
|
|__some files..
在 child.jar
对于child.jar
上的任何操作,必须从parent.jar
中提取,无一例外:
<unjar src="..\abc\parent.jar" dest="..\abc\temp">
<patternset includes="child.jar"/>
</unjar>
child.jar
上的添加/删除:
- &GT;从 basedir - temp2 中添加/更新 ..\temp\child.jar
中的文件。
<zip destfile="..\abc\temp\child.jar" basedir="..\xyz\temp2" update="true"/>
update="true"
添加新文件并覆盖 destfile
中已存在的文件。
- &GT;来自..abc\temp\child.jar
的删除文件:
<zip destfile="..\abc\temp\temp_child.jar">
<zipfileset src="..\abc\temp\child.jar" excludes="files_to_be_deleted" />
</zip>
<move file="..\abc\temp\temp_child.jar" toFile="..\abc\temp\child.jar"/>
修改后的child.jar
可以轻松更新为parent.jar
:(与在child.jar
上添加/更新文件相同)
<zip destfile="..\abc\parent.jar" basedir="..\abc\temp" update="true"/>