Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Java: Общие вопросы > как отследить какой класс создает папки |
Автор: barin_Student 28.9.2009, 08:51 |
Проблема: классы которые в более ранних версиях проекта создавали папки, сейчас уже изменил код этих классов, в их коде не присутствует создание этих папок, но при каждом запуске проекта папки создаються, почему? ![]() |
Автор: agR 28.9.2009, 10:01 |
Как вариант просто задать поиск в коде по имени папки. Если имя не совпадает с ключевыми словами (например, new, public и т.д.) то найденных файлов будет немного. А там разберешься. Ну или искать уже метод, который создает папку - mkdir(). |
Автор: barin_Student 28.9.2009, 11:27 | ||
Поиск ничаго не даст, но счас сделаю... ПС: я знаю в каком классе создавались они раньше, но уже давно я код переписал, и нигде не создаються(по моему коду), а в реальности папки создаются..каламбур какойто.. но это так... счас пройдусь поиском. ![]() Добавлено через 2 минуты и 17 секунд поиск результатов не дал ![]() |
Автор: AntonSaburov 28.9.2009, 12:52 |
Проверь - не лежат ли где-то старые версии твоих классов. Может ClassLoader их юзает вместо твоих. |
Автор: barin_Student 28.9.2009, 13:07 | ||
Скажем так: у меня есть два класса , которые в первой версии выполняли создание папок: LOG ERROR сейчас они создают(кто первый создаст) log То что с маленькой и с большой не пугайтесь..это имеет значение(*NIX). Как то так.. так что наверное я более подробно изложился.. ![]() |
Автор: Dims 28.9.2009, 18:40 |
Помешайте созданию папок (например, ограничьте права на запись или создайте файл с тем же именем) и отследите, откуда вылетит исключение. |
Автор: barin_Student 29.9.2009, 05:58 | ||
делал, просто напросто, я думаю старый класс как то кешируеться(ХЗ как это вообще может быть)...а в нем проверка: есть папка, не создавать, нету папки - создать.. и как экспешн вызвать-Вопрос ![]() |
Автор: magicfly 29.9.2009, 10:01 |
чем билдите? попробуй билдить либо антом либо руками. |
Автор: Dims 29.9.2009, 16:27 |
Можно сделать, чтоб папки не было, но убрать права на создание папки. Или можно сделать скрытую папку с тем же именем -- проверка покажет, что папки нет, а попытка создать провалится. Старый класс может валяться где-то в одном из старых JAR-ов, если их много подключается. И в каком порядке их джавамашина просматривает -- неизвестно. |
Автор: ivanovpv 29.9.2009, 17:05 |
Запрети создание папок на уровне ОС - Java немедленно выкинет Exception - по которому оттрассируешь кто этот негодяй, что создает каталоги |
Автор: barin_Student 30.9.2009, 09:18 | ||||||
NetBeans) Добавлено через 27 секунд
вот это уже идея.. попробую ![]() Добавлено через 1 минуту и 56 секунд
Такая же мысля.. поробую вызвать Ексепшн и тода я буду очень зол ![]() |
Автор: LSD 30.9.2009, 11:03 |
Вообще-то mkdir()/mkdirs() кидает только SecurityException, а если папку создать не удалось, то просто вернет false. Так что если файлы в эти папки не пишутся, то способ на запрет создания папок может и не сработать. Зато можно установить свой SecurityManager и в нем контролировать какой код пытается создать папку ![]() |
Автор: barin_Student 1.10.2009, 08:05 |
Запретил создание папки.. Экспешн не вылез... тему закрыл.. потому что некогда заниматься ею пока ![]() |