Java 蚂蚁耳朵更新,无需完全爆炸耳朵
我使用的是Ant1.8.2,我有一个很大的Ear文件 根据安装过程中用户的选择,需要对ear进行轻微更改 在安装过程结束时,我运行一个ant脚本,它根据用户的选择更新ear。如果用户拥有相关的许可证,这些文件只能包含在ear中。。。因此,更新是必要的 目前,我正在爆炸整个耳朵,添加必要的文件,然后更新耳朵 我希望找到一种方法,可以删除和/或添加文件,而不必经历整个解压缩/更新/压缩过程。有一个Java 蚂蚁耳朵更新,无需完全爆炸耳朵,java,ant,ear,Java,Ant,Ear,我使用的是Ant1.8.2,我有一个很大的Ear文件 根据安装过程中用户的选择,需要对ear进行轻微更改 在安装过程结束时,我运行一个ant脚本,它根据用户的选择更新ear。如果用户拥有相关的许可证,这些文件只能包含在ear中。。。因此,更新是必要的 目前,我正在爆炸整个耳朵,添加必要的文件,然后更新耳朵 我希望找到一种方法,可以删除和/或添加文件,而不必经历整个解压缩/更新/压缩过程。有一个update属性,您可以将其设置为true 这样,文件将被添加到现有的zipfile中,而不是创建新的z
update
属性,您可以将其设置为true
这样,文件将被添加到现有的zipfile中,而不是创建新的zipfile。@oers感谢您的建议,下面是我用来将文件添加到ear并替换application.xml文件的POC
<property name="ear.file1" value="file1.ear"/>
<property name="ear.file2" value="file2.ear"/>
<property name="text.file1" value="1.txt"/>
<property name="text.file2" value="2.txt"/>
<property name="xml.application1" value="application.xml"/>
<property name="xml.application2" value="application2.xml"/>
<target name="clean">
<delete file="${ear.file1}"/>
<delete file="${ear.file2}"/>
</target>
<target name="run">
<!-- simple ear -->
<ear earfile="${ear.file1}" appxml="${xml.application1}">
<fileset dir="." includes="${text.file1}"/>
</ear>
<!-- simple ear that will be updated -->
<ear earfile="${ear.file2}" appxml="${xml.application1}">
<fileset dir="." includes="${text.file1}"/>
</ear>
<!-- ear update, both application.xml file and add another file. -->
<ear earfile="${ear.file2}" appxml="${xml.application2}" update="true">
<fileset dir="." includes="${text.file2}"/>
</ear>
</target>
<target name="main" depends="clean,run"/>
您运行的应用程序服务器和版本是什么?另外,您当前是否正在开发或部署时分解EAR、添加文件并重新压缩?部署时间,因为直到用户在安装过程中选择他们的选项,我们才知道配置。更新用于添加文件,但application.xml没有更新。。。其中包含与我添加的文件相关的引用。有没有关于如何以类似方式更新的想法?与此同时,我正在谷歌上搜索。