用ant重新组织jar中的文件



我目前正在使用ojdeploy部署oracle adf项目。不幸的是,罐子的包装不像它应该的那样。

路径中有图像

lookAndFeel.jar/skins/lightsOff/images
lookAndFeel.jar/skins/lightsOn/images

需要和

合并
lookAndFeel.jar/META-INF/adf/skins/lightsOff/images
lookAndFeel.jar/META-INF/adf/skins/lightsOn/images

有一种方法可以用蚂蚁做到这一点吗?

编辑

我读了Top 15 Ant最佳实践第13点,他们说我应该使用zipfileset。但是我不能这样做,因为我需要的文件已经在jar中了。最初的jar创建是通过ojdeploy完成的,因此我对jar的初始结构没有影响。

我想知道问题是什么:

  • 您是否创建了这个jar?
  • 你是在合并新数据还是移动它?

正如其他人所说,您需要解jar,修改结果,然后再将其备份。不要紧:

<property name="target.dir"   value="${basedir}/target"/>
<property name="work.dir"     value="${target.dir}/work"/>
<property name="munge.dir"    value="${work.dir}/munge"/>
<target name="munge.jar">
    <unjar src="${jar.file}"
        dest="${munge.dir}"/>
    <here be dragons.../>
    <delete file="${jar.file}"/>
    <jar destfile="${jar.file}
       basedir="${munge.dir}"/>
</target>

不是100%确定你想要什么,你必须填写<here be dragons.../>部分。您可以移动、重命名、随机化、删除和添加您的核心内容。

另一种可能性是使用<mapper/>子实体来重新格式化你的jar。

<target name="munge.jar">
    <unjar src="${jar.file}"
        dest="${munge.dir}">
        <mapper type="glob"
            from="skins/**/*"
            to="META-INF/adf/skins/**/*"/>
    </unjar>
    <delete file="${jar.file}"/>
    <jar destfile="${jar.file}
       basedir="${munge.dir}"/>
</target>

我还没有测试上面的,但它会给你一个想法。

相关内容

  • 没有找到相关文章

最新更新