为什么我会收到"无法解决符号"?

dda*_*son 6 java intellij-idea

我之前没有遇到任何困难,我之前已经导入了这个项目.我不确定发生了什么变化.

我点击Import Project并选择getting-started-with-selenium(http://github.com/ddavison/getting-started-with-selenium)这是一个Maven项目和一个旧的Eclipse项目.我点击了目录,然后在"选择库"或其他任何内容中,我选择了Maven.

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

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

  tests/
    java/  <-- tests folder.
Run Code Online (Sandbox Code Playgroud)

但是,我得到了"Cannot resolve symbol 'After'"即使在maven图书馆,我也清楚地看到它. 在此输入图像描述

如果需要任何其他信息,请与我们联系.

Mar*_*ers 9

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

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

Mak*_*oto 5

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

如果这会产生错误,请确保在POM中正确确定了junit依赖关系.

如果这不会产生错误,那么它的IntelliJ不知道新库的位置.

要解决此问题,只需转到主窗口中的Maven Projects选项卡,然后点击"为所有项目生成源和更新文件夹"按钮.然后,点击上一个按钮旁边的"Reimport All Maven Projects".