Java IntelliJ:重构包导致找不到Guice类

Java IntelliJ:重构包导致找不到Guice类,java,intellij-idea,guice,Java,Intellij Idea,Guice,我使用IntelliJ的重构工具将包的名称从oldName更改为newName。此包包含Guice提供程序绑定。重构后,主类抛出一个运行时异常: Message: java.lang.ClassNotFoundException: project.oldName.missingClassProvider 在我的示例中,我将oldName重构为newName。但异常表明它仍在oldName包中查找missingClassProvider 自从我能够导入missingClassProvider以来

我使用IntelliJ的重构工具将包的名称从oldName更改为newName。此包包含Guice提供程序绑定。重构后,主类抛出一个运行时异常:

Message: java.lang.ClassNotFoundException: project.oldName.missingClassProvider
在我的示例中,我将oldName重构为newName。但异常表明它仍在oldName包中查找missingClassProvider

自从我能够导入missingClassProvider以来,类路径似乎已经更新。但似乎有一个Guice数据容器没有被更新


有人能解释一下造成这种行为的原因吗?如何让Guice识别包名称中的更改

可能不是Guice的问题。Guice不在任何地方存储名称。它是一个运行时库,通常在应用程序通过一个或多个模块启动时配置

我猜是关于一个损坏的构建。尝试清理并重建项目。如果您正在使用某种构建工具Maven,gradle将找到并执行clean目标


如果您使用的是just IDEA,请尝试使用Build>rebuild project重新构建整个项目。

最终有机会了解这一点。对old project.oldName的所有引用都位于.idea/workspace.xml文件中。我试过运行Gradle Clean任务。我也尝试过使用IDEA Build>Rebuild。两者都不起作用。我将尝试使缓存无效/重新启动。workspace.xml中对project.oldName的大多数引用似乎与本地历史记录有关。我还注意到文本project.oldName确实出现在另一个地方:.gradle/2.2/taskArtifacts/fileSnapshots.bin对整个项目进行全文搜索,查找oldName如何?我删除了fileSnapshots.bin文件。是的,我从项目根目录进行了文本搜索。oldName仅出现在.idea/workspace.xml中。我很犹豫是否要删除,因为我有许多不想重新创建的运行/调试配置。