在jar中从jar中删除/添加文件



基本上我想从一个恰好在另一个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"/>  

相关内容

  • 没有找到相关文章

最新更新