我們有一個大型的多模塊Maven項目。通常的工作方式是檢查你感興趣的幾個模塊,以及他們依賴的其他模塊,使用Maven提供的快照JAR。在IDEA中,有沒有辦法強制重新編排Maven快照?
這似乎大多工作;當我們需要更新快照時,我們只需從「Maven項目」選項卡強制重新導入。但是,重新導入的快照似乎從未被重新編入索引。
重現步驟:
- 在一個項目中,檢查/配置依賴於其他模塊的Maven的快照的模塊。
- 在單獨的項目中,對其他模塊進行更改,例如,添加一個方法,並將其部署到Maven存儲庫。
- 在第一個項目中,更新快照。
- 在第一個項目中,編寫一些調用新方法的代碼。
預計:
- 不麻煩調用新方法。
實際:
- 方法調用與 「無法解決方法」 的錯誤紅線。但是:
- 代碼編譯並(通過生成或上下文菜單)
- 代碼並運行,包括調用新方法
有一些解決這個方法的代碼?這將是很好的擺脫紅線,讓自動完成等工作,並且通常能夠繼續按照你應該的方式使用IDEA。可能相關:我們有Eclipse和IDEA開發者的混合體,爲了解決一些Eclipse/Maven集成的bug,我們在我們的pom.xml文件中設置了快照updatePolicy爲「never」。但是,我期望IDEA設置(快照更新策略:始終更新)覆蓋此設置,除非我誤解設置的作用。 (「Never」看起來似乎違反直覺,但我認爲開發人員是正確的:手動更新依賴關係,就像手動更新VCS源代碼一樣,對於真正的構建,我們有Hudson覆蓋POM設置。重要的是,將它設置爲「從不」會阻止Eclipse免於不必要的總重編譯)
自從我張貼這篇文章以來,我已經更換了工作,但是基於IDEA和Maven的最新經驗,我懷疑您是對的 - 如果「同步」無法解決問題,那麼可能會強制重建索引。 –
我很少需要重建索引(假設你的意思是無效的緩存?) – ianpojman