1

我们的应用程序依赖于使用 jar 命令来提取远程系统上的文件。我们刚刚注意到,在 Java 6 中,Sun 更改了使用 jar 命令提取的文件的时间戳的默认行为(多么可怕的决定,但我离题了..)。现在使用 jar 提取的文件使用其原始上次修改日期而不是提取时的时间戳。

通过搜索,我发现了这个出价位:

jar 将在提取期间保留文件修改日期和时间

从 jar 存档中提取的文件和目录现在将其时间戳设置为与 jar 存档中相应文件/目录的时间戳相匹配。在 Java SE 6 之前,从 jar 存档中提取的文件和目录被赋予了提取的日期和时间。提供了一个系统属性 sun.tools.jar.useExtractionTime=true,以便可以获得 Java SE 5.0 和更早版本的行为。Java SE 中此属性的默认值为 false。

从这个页面:http ://www.oracle.com/technetwork/java/javase/compatibility-137541.html

但是,我不知道如何在 jar 命令上设置系统属性。我尝试使用 -D 无济于事。似乎同样的行为反映在 IBM JDK 中,我需要一种解决方法。

有人知道如何为 jar 命令设置系统属性吗?

4

1 回答 1

0

我在这里找到了链接:http: //download.oracle.com/javase/6/docs/technotes/tools/windows/jar.html

您实际上传递了 -J-Dsun.tools.jar.useExtractionTime=true 希望这对将来的其他人有所帮助。

于 2011-10-19T21:57:09.583 回答