Я видел эти симптомы только на днях.
Я получил файл, который редактировал, и решил, что хочу разделить свои изменения на 2 коммита.Я пошел в каталог, содержащий мой файл "x / y / Z.java", создал каталог в "x / y" с именем "backup", переместил туда "Z.java" и вытащил свежую копию из системы контроля версий. Обратите внимание, что все это было сделано за пределами IDE.
Вернувшись в IDE, я объединил изменения для первого коммита, и когда я собрал, я получил сообщение о дублировании класса для "Z.java".Msgstr ".
Когда я скопировал источник в" резервную копию ", я сделал это вне IDE, и он все еще имел оригинальный пакет" xy ", как и мой недавно отредактированный" Z.java ".NB не будет компилировать новый "Z.java", потому что он мог видеть, что он уже создал "xyZclass" (из "x / y / backup / Z.java").
Есть 2 способа исправить это:
- Переименуйте «x / y / backup / Z.java» в «x / y / backup / Z.java.backup».(Не допускайте компиляции резервной копии.)
- Измените пакет в «x / y / backup / Z.java» с «xy» на «xybackup».(Сделайте резервную копию, создайте другой файл класса.)
После внесения любого из этих изменений выполните «очистку и сборку». Примечание: простое построение не решит проблему, вам нужно выполнить очистку для удаления файла мошеннического класса.
Примечание: # 1 было сделано путем переименования Z.java из командной строки, а не в NB.NB не позволит вам изменить расширение файла.