Дублирование файлов.class после рефакторинга
После перемещения класса из одного пакета (я использую NetBeans 8.0.2) в другой я столкнулся из-за дубликатов одного класса в двух пакетах. Например, после того, как я переместил класс в другой пакет (например, из a.b
в a.b.c
) и затем построил мое приложение, у меня есть два абсолютно одинаковых класса, но в разных каталогах (a/b/foo.class
а также a/b/c/foo.class
) в target/snapshot/WEB-INF/classes
,
Это была управляемая проблема, когда это происходило для одного класса - я просто удалил избыточный, и все работало нормально, но с тех пор я переместил несколько других классов, и это решение слишком проблематично.
Это вызывает проблемы, особенно когда Spring просматривает файлы конфигурации и сталкивается с дубликатами. В других случаях это просто делает безобидный беспорядок.
Например: у меня есть SecurityInitializer
это расширяет AbstractSecurityWebApplicationInitializer
который ранее был частью web.configuration
пакет и теперь он был перемещен в configuration
Пакет и приложение создают два файла.class - один в папке target\EShopper-1.0-SNAPSHOT\WEB-INF\classes\eshopper\configuration
как следует, а другой в target\EShopper-1.0-SNAPSHOT\WEB-INF\classes\eshopper\web\configuration
(который был действителен до перемещения класса), что вызывает проблему, так как есть дубликат springSecurityFilterChain
,
Есть ли способ предотвратить это дублирование?