2013-12-17 103 views
8

偶尔,在POM发生更改的SVN更新之后,IntelliJ似乎没有注意到这一点,并开始出现奇怪的行为(不存在的类,方法......)。我现在知道重新导入所有Maven项目可以解决这个问题,但我不明白为什么这是必要的。何时以及为什么需要重新导入所有Maven项目?

我已勾选'自动导入Maven项目'。

我不认为这是因为这已经在版本12的情况下的一个错误,现在仍然是在13

+0

'自动导入Maven项目'应该处理这种情况。如果它不起作用,请[提交错误](http://youtrack.jetbrains.com/issues/IDEA)以及重现步骤和测试用例。 – CrazyCoder

+0

刚刚发生了这个问题;我们所有的pom都从快照-X更新为快照-Y。一个make显示的错误似乎不是有效的。全部导入并解决问题。这不仅仅是我,我们都从eclipse迁移到IntelliJ,并且现在都有这个问题。 –

+0

要清楚,这不是回到日食的理由:-)。 –

回答

7

这种行为通常是与传递依赖的依赖问题。如果您依赖于模块之间的传递依赖关系,那么IntelliJ可能会在识别出需要自动重新导入时遇到问题。最佳做法是列出每个模块中的所有直接依赖关系。然后,当模块被更改并重建或重新导入时,依赖它的模块将被重建。所以,我的建议是检查你的依赖关系,确保你的树中没有传递 - 'mvn dependency:tree'可能有帮助。

+0

Tx。我们有大约140个(maven)项目,所以这将是一些工作,以检查所有这些,但如果我有机会,我会尝试在一些测试工作区重现这一点。 –

+0

通过将所有依赖项列在我们的项目的父项目的依赖管理中,将其他项目列出来解决问题。这是非常类似于你的建议,所以谢谢你的提示。 –

相关问题