Старый поставщик услуг сохраняется после очистки и сборки

Я использую org.openide.util.Lookup как отдельную библиотеку в приложении (не в приложении на платформе NetBeans).

Везде, где я смотрю, написано, что вы можете избавиться от записей META-INF/services из старых классов, которые использовали аннотацию @ServiceProvider, выполнив Очистку и сборку, но независимо от того, сколько раз я очищаю / очищаю и собираю / перезапускаю NetBeans/reboot компьютер все еще помнит старые аннотации. Я даже просмотрел тонну конфигурационных файлов, чтобы увидеть, кеширует ли он где-нибудь ссылки.

Единственный способ, который я нашел, это работает - создать новый проект и никогда не удалять и не реорганизовывать какой-либо класс после добавления к нему аннотации @ServiceProvider. Это очень сильно расстраивает.

Кто-нибудь знает волшебную пулю для получения этих старых ссылок на классы из сгенерированных файлов META-INF/services?

1 ответ

Я не совсем уверен, что это случилось с вами, но у меня была похожая проблема с удаленными пунктами меню, все еще появляющимися в layer.xml. Я обнаружил, что решение состояло в том, чтобы сделать чистую сборку, закрыть NetBeans (при условии, что это IDE, которую вы используете), затем перейти к C:\Users\my Username\AppData\Local\NetBeans\ или его эквиваленту и удалить папку Cache, Дайте мне знать, если это сработает, если вы когда-нибудь дойдете до этого.

Другие вопросы по тегам