2014-01-24 57 views
6

之前我已经导入了这个项目,没有任何困难。我不确定发生了什么变化。为什么我会收到“无法解析符号”?

我点击Import Project并选择getting-started-with-seleniumhttp://github.com/ddavison/getting-started-with-selenium)这是一个Maven项目和一个旧的Eclipse项目。我点击目录,然后在“选择图书馆”或其他,我选择Maven

我已经改变了我的构建路径正确匹配...

src/ 
    main/ 
    java/ <-- source folder. 

    tests/ 
    java/ <-- tests folder. 

不过不失,我得到"Cannot resolve symbol 'After'"即使在Maven库,我看清楚了。 enter image description here

让我知道是否有任何额外的信息需要。

+3

我们可以看到你的POM吗?我的第一个猜测是,你将junit作用于'test',但意外地把'AutomationTest'放在'src/main'中。 –

+0

这就是它马克...我有'测试'继续并将其标记为答案。 – sircapsalot

+0

[This](https://www.jetbrains.com/idea/help/configuring-testing-libraries.html)为我解决了这个问题。另请参见[this。](http://stackoverflow.com/a/4757951/183704) –

回答

9

确保如果JUnit声明为<scope>test</scope>,那么您的测试类在src/test中,否则它将无法看到依赖关系。

+0

不相关的,但如果您熟悉intellij(我最近刚刚尝试过它),那么您是否可以提供一些有关我为什么甚至不得不添加junit依赖?如果你看看http://github.com/ddavison/getting-started-with-selenium/tree/master/pom.xml,你可以看到我甚至没有junit作为dep。但是,Intellij之前没有问题..我的猜测是我没有正确导入项目..也许我应该下次为Eclipse项目导入'.project',然后手动添加Maven支持? – sircapsalot

+2

@sircapsalot:由于IntelliJ内置了对JUnit的支持,它可能会自动将JUnit添加为非Maven模块依赖项,而忽略您的pom.xml。例如,我在pom.xml中有一个没有JUnit的Maven项目。我通过IntelliJ创建了一个新的JUnit4测试。 '@ Test'标记一个错误,所以我使用Alt-Enter。第一个自动修复建议是“将junit.jar添加到类路径”(而不是通过Maven)。稍后的自动修复建议是“添加Maven依赖项”,它实际上会更改pom.xml。如果您选择前者,那么在通过Maven构建时,测试类将不会编译。 –

5

确保您可以通过Maven(即通过命令行)通过mvn clean compile编译项目。

如果这样会产生错误,请确保您在POM中具有正确范围的junit依赖项。

如果这不会产生错误,那么IntelliJ不知道新库在哪里。

要解决该问题,只需转到主窗口中的Maven项目选项卡,然后点击“为所有项目生成源和更新文件夹”按钮。然后,点击上一个按钮旁边的“重新导入所有Maven项目”。

相关问题