Netbeans ghost подает пробку шоу, как это исправить? - PullRequest
0 голосов
/ 19 января 2011

В последние несколько лет я сталкивался с «призрачными файлами» в Netbeans, но у меня не было доказательств этого, поэтому мне пришлось с этим смириться, и когда я пытался объяснить ситуацию, в это трудно поверить, теперь у меня есть доказательства этого, и это шоу-стоппер, какое-нибудь исправление для этого?

Это выглядит так, у меня есть класс Java, который я использую в течение многих лет, своего рода инструмент, я добавляю немного, поскольку у меня больше опыта, но время от времени, после того, как я добавил новый метод и использовал его в другом классе, Netbeans не мог его распознать, мне показалось, что Netbeans все еще смотрит на старую копию класса, в котором недавно добавленный метод не существует. И все же, если я скопирую этот обновленный класс в другой проект, новый метод будет работать нормально, и Netbeans сможет его найти. В NB 6.7 он просто действовал как класс, застывший во времени, любые новые дополнения к нему не распознавались, теперь, когда я попробовал его в NB 6.9, я мог поймать «призрака»!

Это произошло случайно, вчера после того, как я обновил класс, я попытался использовать новый метод в другом классе в том же проекте, красный флаг поднялся, он не смог найти новый метод, поэтому я размышлял над вызов нового метода, и щелкнув правой кнопкой мыши по нему, "Navigate" => "Перейти к источнику", взрыв призрак появился! Если я делаю это в NB 6.7, он просто звонит, как будто говорит, что не может его найти. Но в NB 6.9 он идет к «источнику», который не является моим исходным файлом класса java [Get_Time.java], это еще один сгенерированный файл, поэтому я поместил в редакторе открытое имя «ghost», имя было «C». : \ Users \ USER.netbeans \ 6.9 \ var \ cache \ index \ s117 \ java \ 14 \ gensrc \ Get_Time.java (только для чтения) ", содержимое выглядело как скелет моего исходного файла Get_Time.java, но определенно разные, и я уверен, что именно этот «файл-призрак» вызывает проблемы.

В ходе разработки я иногда изменял системное время для тестирования различных функций в классе, может ли это вызвать сбой в работе файла-призрака, если я изменю текущее время на 2016 и изменим исходный файл, то NB может записать последний раз файл изменялся в 2016 году, и если я верну время назад на 2011 год и добавлю новую функцию, он не примет ее, поскольку он может сравнивать даты различных версий исходного файла и придерживаться «последней отметки времени». "?!

Я бы хотел, чтобы NB никогда не оставлял файлы-призраки «Всегда использовать фактический исходный файл», это позволило бы избежать многих подобных проблем. Я попытался удалить этот файл-призрак, но при следующей компиляции он снова генерируется. Я не хочу удалять слишком много контента из "C: \ Users \ USER.netbeans \ 6.9 ...", это может испортить мои настройки NB. Во всяком случае, теперь это ограничитель шоу, я не могу добавить больше изменений в класс, он заморожен во времени, что за исправление?

Ответы [ 2 ]

1 голос
/ 20 января 2011

Просто несколько предложений, так как я был ужалён этой проблемой раньше. Вы построили банку и добавили в нее зависимость вручную?

например.

1) проект A упакован в A.jar с классом Time.

2) проект B зависит от A.jar и проекта A

3) Изменено время.java в проекте A

4) проект B не увидит изменений, так как он всегда будет читать из A.jar, созданного до того, как произойдут изменения.

1 голос
/ 19 января 2011

Попробуйте удалить кэш NetBeans (каталог ~/.netbeans/6.9/var/cache/index/), когда вернетесь в будущее и перейдете в прошлое. NetBeans, вероятно, немного запутался из-за временных меток файлов. Поскольку это случайный случай с такими датами, я сомневаюсь, что NetBeans придаст этому приоритетное значение при попытке исправить / обработать.

...