Наше приложение использует команду 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?