我目前正在使用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 Best Practices第13点,他们说,我应该使用zipfileset
。但我无法这样做,因为我的必需文件已经在jar中了。最初的jar创建是通过ojdeploy
完成的,因为我对jar的初始结构没有影响。
答案 0 :(得分:0)
我试图了解问题所在:
正如其他人所说的那样,你需要解开,挖掘结果,然后将其重新装上。没什么大不了的:
<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>
不完全确定你想要的是什么,你必须填写<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>
我没有测试过上述内容,但它会给你一个想法。