У меня есть сериализуемый класс (CardGame), с которым я работаю в Eclipse, и изначально я поместил его в пакет (x.cardlib). Я переименовал пакет в y.cards.models, используя утилиту рефакторинга Eclipse (теперь, когда я знаю, как правильно назвать пакет).
Я написал новый класс (CardGameDatabase), который загружает и преобразует сериализованные CardGames из базы данных, и позже написал для него новый контрольный пример JUnit (CardGameDatabaseTest). Я попытался запустить свой тестовый пример и получил следующую ошибку:
java.lang.ClassNotFoundException: x.cardlib.CardGame
at y.cards.database.CardGameDatabase.getGame(CardGameDatabase.java:28)
at y.tests.CardGameDatabaseTest.test(CardGameDatabaseTest.java:13)
Я решил, что в моем коде все еще должна быть ссылка на старый пакет, поэтому я выполнил поиск по всему проекту любых ссылок на старый пакет (например, "import x.cardlib.CardGame"). Я не нашел ни одного.
Затем я удалил весь скомпилированный код и запустил утилиту очистки Eclipse, думая, что, возможно, в ранее скомпилированном коде существовала старая ссылка. Я все еще получаю сообщение об ошибке.
(Хм, я понял это во время написания, на самом деле. Я скоро опубликую ответ, если у кого-то еще возникла такая проблема.)