0
我使用IntelliJ的重構工具將包名從oldName
更改爲newName
。該軟件包包含一個Guice提供者綁定。在重構之後,主類拋出一個運行時異常:IntelliJ:重構包導致Guice類未找到
Message: java.lang.ClassNotFoundException: project.oldName.missingClassProvider
在我的例子,我已經重構oldName
到newName
。但例外情況表明它仍在oldName
包中尋找missingClassProvider
。
似乎類路徑已經更新,因爲我可以導入missingClassProvider
。但似乎有一個Guice數據容器沒有被更新。
有人可以解釋是什麼導致了這種行爲?我如何讓Guice識別軟件包名稱的變化?
終於有機會看看這個。所有對舊'project.oldName'的引用都位於.idea/workspace.xml文件中。我試過運行Gradle Clean任務。我也嘗試使用IDEA Build> Rebuild。兩者都不起作用。我會嘗試使緩存/重新啓動無效。 – andrew
無效緩存/重新啓動不起作用。 – andrew
workspace.xml中對'project.oldName'的大多數引用似乎與本地歷史有關。我還注意到文本「project.oldName」確實出現在另一個地方:.gradle/2.2/taskArtifacts/fileSnapshots.bin – andrew