Установка системного свойства для команды jar в Windows - PullRequest
1 голос
/ 18 июня 2011

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

1 Ответ

0 голосов
/ 20 октября 2011

Я нашел ссылку здесь: http://download.oracle.com/javase/6/docs/technotes/tools/windows/jar.html

Вы фактически передаете -J-Dsun.tools.jar.useExtractionTime = true Надеюсь, что это поможет кому-то еще в будущем.

...