gpt4 book ai didi

java - 不考虑日期更新 WAR/JAR 中的文件

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:15:54 25 4
gpt4 key购买 nike

我有一个 ANT 任务,它使用 jar 任务来更新先前构建的 war 中的一些文件。 [文件在 WAR 编译和交付之间进行处理。] 我怎样才能让 ANT 更新我指定要更新的所有文件? jar 有一个名为 update = "[...]" 的属性,它允许您强制创建新的 Jar 文件或(添加新文件/“如果认为有必要,更新现有文件” ”)。

一个例子:

  1. Java 类已编译
  2. 创建 jar
  3. 创建了一个 .war
  4. 运行脚本来修改 Jar
  5. .war 需要更新已修改的 Jars [Jars 是 war 中所有文件的子集]

我遇到的问题是指示要更新的 Jar 没有在最后一步得到更新。日志声称刚刚处理的 Jars 已“过时”。有什么办法可以强制进行更新吗?如果我将 "jar [...] update" 切换回 false(默认情况下),正确的 Jar 文件会放置在那里,但 war 中的其余文件不会。

注意 我意识到这可以在完成所有操作后移动以生成 WAR。但这对我来说不是一个选择。

有问题的 Ant 任务:

<target name="(the 'Rewaring task')" depends="step-3">
<echo>Adding modifed jars to war</echo>
<jar destfile="${output.war.dir}/existing.war" update="true">
<zipfileset dir="${output.jar.dir}/modded-jars" prefix="folder" />
</jar>
</target>

更具体地说,我遇到的问题是“更新”行为。

最佳答案

看起来 Jar 任务是正确的。

您确定正在更新的文件具有正确的修改日期时间 - 这是在 zipfileset/update 选项中实际比较的时间吗?

我在签署 Jars 时看到过这个问题 [并将 preservelastmodified 选项设置为“true”(默认值:false)]。

要修复它,您只需要更改签名选项即可。

关于java - 不考虑日期更新 WAR/JAR 中的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7015411/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com