【问题标题】:Cannot resolve spring annotations in intellij idea无法解析intellij想法中的弹簧注释
【发布时间】:2020-11-24 07:51:04
【问题描述】:

我下载了jdk 11、maven 3.6.3和Itellj Idea并导入了一个项目:

mvn clean install 

但我总是得到这个错误:

Cannot resolve symbol 'SpringBootApplication'

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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <parent>
        <groupId>com.xxx.xxx.sofa</groupId>
        <artifactId>sofa-spring-boot-pom-parent</artifactId>
        <version>1.0.10</version>
    </parent>



    <properties>
        <java.version>11</java.version>
        <spring-boot.version>2.3.2.RELEASE</spring-boot.version>
        <postgres.version>42.2.14</postgres.version>
        <h2.version>1.4.200</h2.version>
        <swagger.version>2.9.2</swagger.version>
    </properties>

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

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </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>

        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger2</artifactId>
            <version>${swagger.version}</version>
        </dependency>
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger-ui</artifactId>
            <version>${swagger.version}</version>
        </dependency>

        <!-- DATABASE -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>
        <dependency>
            <groupId>com.h2database</groupId>
            <artifactId>h2</artifactId>
        </dependency>
        <dependency>
            <groupId>org.postgresql</groupId>
            <artifactId>postgresql</artifactId>
            <scope>runtime</scope>
        </dependency>

        <!-- OPTIONAL TOOLS -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-configuration-processor</artifactId>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <scope>runtime</scope>
            <optional>true</optional>
        </dependency>
    </dependencies>

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

</project>

我试图删除.idea 文件夹或“无效的缓存并重新启动”,但第一种方法也没有解决问题。 有一个类似的问题Cannot resolve symbol SpringApplication,但答案并没有解决我的问题。我该如何解决?

【问题讨论】:

  • 右击pom.xml并选择Maven -> Reload project
  • 您在命令行构建过程中遇到错误?如果是这样,您错过了向 pom 文件添加依赖项...
  • @SpringBootApplication 在编译时可用吗?你在编译范围内有相应的依赖吗?您如何尝试运行您的项目?
  • @khmarbaise 在构建过程中没有错误。构建成功
  • @GiorgiTsiklauri 我编辑了我的问题并添加了 pom.xml

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


【解决方案1】:

你好像用的是 Spring Boot 1.0.1 版本,@SpringBootApplication 注解是在 1.2 中引入的

【讨论】:

    【解决方案2】:

    你使用的不是SpringBoot parent,而是你自己的,需要添加依赖:

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-dependencies</artifactId>
        <version>${spring-boot.version}</version>
        <type>pom</type>
        <scope>import</scope>
    </dependency>
    

    【讨论】:

      【解决方案3】:

      你需要添加依赖

      <parent>
              <groupId>org.springframework.boot</groupId>
              <artifactId>spring-boot-starter-parent</artifactId>
              <version>2.3.0.RELEASE</version>
              <relativePath/> <!-- lookup parent from repository -->
          </parent>
      

      【讨论】:

        【解决方案4】:

        我通过降级 maven 版本解决了这个问题。

        【讨论】:

          【解决方案5】:

          运行以下命令为我解决了这个问题:

          mvn idea:idea

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2016-03-14
            • 2020-04-14
            • 1970-01-01
            • 2020-03-01
            • 1970-01-01
            • 1970-01-01
            • 2020-04-21
            • 2021-04-10
            相关资源
            最近更新 更多