错误:java:软件包org.springframework.boot不存在

时间:2020-05-15 04:06:52

标签: java spring spring-boot maven intellij-idea

我今天做了一个简单的应用程序,运行时出现了一些错误。我昨天提出了另一个与此应用程序非常相似的应用程序,该应用程序运行良好,但现在也坏了

我遇到这些错误:

Error:(4, 32) java: package org.springframework.boot does not exist
Error:(5, 46) java: package org.springframework.boot.autoconfigure does not exist
Error:(6, 35) java: package org.springframework.context does not exist
Error:(9, 2) java: cannot find symbol
  symbol: class SpringBootApplication
Error:(13, 17) java: cannot find symbol
  symbol:   class ApplicationContext
  location: class com.example.dependencyinjection.DependencyInjectionApplication
Error:(13, 42) java: cannot find symbol
  symbol:   variable SpringApplication
  location: class com.example.dependencyinjection.DependencyInjectionApplication
Error:(3, 38) java: package org.springframework.stereotype does not exist
Error:(5, 2) java: cannot find symbol
  symbol: class Controller

这是我的pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.2.7.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.example</groupId>
    <artifactId>dependency-injection</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>dependency-injection</name>
    <description>Example project for Spring Boot</description>

    <properties>
        <java.version>1.8</java.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot</artifactId>
            <version>1.2.3.RELEASE</version>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
            <exclusions>
                <exclusion>
                    <groupId>org.junit.vintage</groupId>
                    <artifactId>junit-vintage-engine</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>

我尝试过:

  • 重新导入所有Maven项目
  • 为所有项目生成源并更新所有文件夹
  • 使用Spring initalizer创建新项目
  • 检查settings.xml的设置路径
  • 删除.m2文件夹
  • 使缓存无效并重新启动
  • 使用自动导入功能重新打开项目
  • 删除/更改用于导入的VM选项
  • 强制Intellij重新读取所有Maven依赖项
  • 确认依赖项在模块中
  • 更新Maven存储库
  • 许多不同的pom.xml配置
  • 克隆并构建一个可以正常工作的项目
  • 更改Maven的默认可执行文件
  • 完全关闭自动同步
  • 重新安装Intellij

还有其他想法吗?

6 个答案:

答案 0 :(得分:3)

在IntelliJ IDEA 2020.1和2020.1.1版本(将在2020.1.2中修复)中有一个known bug,由于路径宏未正确解析,编译器未找到Maven依赖项。

您可以使用a workaround直到发布此修复程序为止,或使用downgrade to 2019.3.x version

解决方法是覆盖“设置”(macOS上的“首选项”)的默认设置。构建,执行,部署|生成工具| Maven | 本地存储库(将其设置为其他默认值)。

否则,请确保<IDE config> path.macros.xml目录中的/options文件具有以下内容:

<application>
  <component name="PathMacrosImpl">
   <macro name="KOTLIN_BUNDLED" value="<path to IDE installation>\plugins\Kotlin\kotlinc" />
    <macro name="MAVEN_REPOSITORY" value="<path to>/.m2/repository" />
  </component>
</application>

<path to>/.m2/repository是本地Maven存储库的路径,<path to IDE installation>是IDE安装主目录的路径。

答案 1 :(得分:2)

就我而言,已经更改了 Maven 导入 JDK 版本。 在 Intellij 的最新版本中,它指向 JDK11。然后更改我的内部 JDK 版本解决了问题enter image description here

答案 2 :(得分:1)

将spring-boot-starter-web依赖项添加到您的POM

<dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
</dependency>

答案 3 :(得分:0)

不需要在您的pom.xml中需要spring-boot依赖项

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot</artifactId>
            <version>1.2.3.RELEASE</version>
        </dependency>

答案 4 :(得分:0)

好吧,我只需重新启动具有所有必需依赖项和 JDK 设置的笔记本电脑即可解决该问题。

答案 5 :(得分:0)

我按照这些步骤成功构建了我的项目。

  1. 运行mvn clean
  2. 转到设置 -> 构建、执行、部署 -> Maven -> 存储库并更新它们。(不确定这是否必要)
  3. 点击 Maven 选项卡上的重新加载按钮,刷新您的 Maven 依赖项。
  4. 转到构建并点击重新构建项目。