IntelliJ:Refactor包导致Guice类未找到

时间:2017-02-27 20:06:12

标签: java intellij-idea guice

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

Message: java.lang.ClassNotFoundException: project.oldName.missingClassProvider

在我的示例中,我已将oldName重构为newName。但该异常表明它仍在missingClassProvider包中寻找oldName

似乎类路径已更新,因为我能够导入missingClassProvider。但似乎有一个Guice数据容器没有被更新。

有人可以解释造成这种行为的原因吗?如何让Guice识别包名称的变化?

1 个答案:

答案 0 :(得分:1)

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

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

如果您只使用IDEA尝试使用 Build>重建整个项目重建项目