У нас есть приложение Java с определенным модулем, который проверяет, является ли временный каталог «доступным для записи» перед выполнением его функции. Чтобы проверить это, у нас есть тест JUnit, который создает новый каталог, использует метод класса Java File
setWritable(false)
, чтобы сделать каталог «недоступным для записи», затем передает этот каталог тестируемому модулю и ожидает получить IllegalArgumentException
назад. Все это работало нормально долгое время под JDK 6u18.
Сегодня я обновил версию JDK до JDK 6u24 (текущий выпуск с сайта Sun на сегодняшний день). Этот модульный тест только что провалился с новым JDK. Я поспрашивал в своей команде и обнаружил, что кто-то еще пытался запустить JDK 6u23 на своей машине некоторое время назад и имел ту же проблему с тем же тестом JUnit (и только с этим тестом - все остальное работает нормально).
Кто-нибудь еще испытывал проблемы с методом setWritable()
после обновления на более новый JDK? Есть идеи, как решить эту проблему?
Прежде чем вы спросите, я также попытался использовать метод setReadonly()
в качестве альтернативы, но я получил тот же результат.