为啥 IntelliJ 找不到正确的 WebServlet 类?

Posted

技术标签:

【中文标题】为啥 IntelliJ 找不到正确的 WebServlet 类?【英文标题】:Why can't IntelliJ find the correct WebServlet class?为什么 IntelliJ 找不到正确的 WebServlet 类? 【发布时间】:2016-10-20 21:14:20 【问题描述】:

我是 IntelliJ 和 Maven 的新手。我正在编写一个将使用H2 数据库的WebServlet 类的Java 类。

在我的 pom.xml 中,我已将以下内容添加到我的 <dependencies> 部分:

    <dependency>
        <groupId>com.h2database</groupId>
        <artifactId>h2</artifactId>
        <scope>runtime</scope>
    </dependency>

在我的 Java 类中,当我告诉 IntelliJ 解析符号 WebServlet 时,它会导入 javax.servlet.annotation.WebServlet 而不是 org.h2.server.web.WebServlet。当我尝试自己添加import org.h2.server.web.WebServlet; 语句时,IntelliJ 说它cannot resolve symbol 'h2'

为什么 IntelliJ 找不到 org.h2.server.web.WebServlet

【问题讨论】:

您很可能需要re-import the maven project 以便 intellij 了解新的依赖项。 你也需要版本号吗? 【参考方案1】:

IntelliJ 尚未更新其内部项目结构以与 Maven 项目保持一致。要解决此问题,您需要刷新 Maven 项目。在 Maven 项目工具窗口中,您可以选择“重新导入所有 Maven 项目”(该按钮看起来像一个圆圈中的两个蓝色箭头),它将使用您的新依赖项更新 IntelliJ 项目。如果 Maven Projects 工具窗口不可见,您可以从菜单中选择 View > Tool Windows > Maven Projects。

【讨论】:

以上是关于为啥 IntelliJ 找不到正确的 WebServlet 类?的主要内容,如果未能解决你的问题,请参考以下文章

为啥 IntelliJ Idea 找不到 GO SDK 的位置?

intellij idea新建时为啥找不到scala class

intellij IDEA为啥我代码编译的时候没有问题 但是maven打包的时候报错找不到类?代码中都import过了啊

/hibernate.cfg.xml 在 Intellij 中找不到

在 IntelliJ 中找不到 Maven java-doc 插件

为啥找不到正确的标签(标签为空)?