基本上我想从一个恰好在另一个jar文件内的jar文件中删除文件并向其添加文件。如果不完全提取jar文件并重新打包,这是可能的吗?
如果有一个ant脚本,将是伟大的。
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="..abcparent.jar" dest="..abctemp">
<patternset includes="child.jar"/>
</unjar>
添加/删除child.jar
:
-> to 从basedir - temp2添加/更新..tempchild.jar
中的文件。
<zip destfile="..abctempchild.jar" basedir="..xyztemp2" update="true"/>
update="true"
添加新文件并覆盖已经存在于 destfile
中的文件。
,> 删除文件从..abctempchild.jar
:
<zip destfile="..abctemptemp_child.jar">
<zipfileset src="..abctempchild.jar" excludes="files_to_be_deleted" />
</zip>
<move file="..abctemptemp_child.jar" toFile="..abctempchild.jar"/>
修改后的child.jar
可以很容易地更新为parent.jar
:(与在child.jar
上添加/更新文件相同)
<zip destfile="..abcparent.jar" basedir="..abctemp" update="true"/>