多个 Spring Boot 错误:包 org.springframework.boot 不存在

Posted

技术标签:

【中文标题】多个 Spring Boot 错误:包 org.springframework.boot 不存在【英文标题】:Multiple Spring Boot Errors: package org.springframework.boot does not exist 【发布时间】:2019-01-11 19:17:19 【问题描述】:

我正在尝试使用 Intellij Ultimate(Java 1.8、Maven 3.5.4、Spring 2.0.4)使用 Spring Boot 创建一个项目。这是我的第一个 Spring Boot 项目,所以我不确定我是否正确使用了 Maven。

我已经尝试过编辑 pom 文件并从此链接添加依赖项(spring-boot-starter-data-jpa、spring-boot-starter-web)的建议,但没有任何效果。

package org.springframework.boot does not exist

我不断收到以下错误:

Information:java: JPS build failed to load optimized file manager for javac:
java.lang.NoClassDefFoundError: com/sun/tools/javac/util/DefaultFileManager
java.lang.NoClassDefFoundError: com/sun/tools/javac/file/JavacFileManager
Information:java: Errors occurred while compiling module 'demo'
Information:javac 8 was used to compile java sources
Information:2018-08-03, 5:14 PM - Compilation completed with 4 errors and 4 warnings in 6 s 430 ms
Warning:java: class org.jetbrains.jps.javac.ast.ExternalRefCollectorCompilerToolExtension : com/sun/source/util/TaskListener
Warning:java: source value 1.5 is obsolete and will be removed in a future release
Warning:java: target value 1.5 is obsolete and will be removed in a future release
Warning:java: To suppress warnings about obsolete options, use -Xlint:-options.
/Users/henryli/Desktop/demo/src/main/java/com/example/demo/DemoApplication.java
Error:(3, 32) java: package org.springframework.boot does not exist
Error:(4, 46) java: package org.springframework.boot.autoconfigure does not exist
Error:(6, 2) java: cannot find symbol
  symbol: class SpringBootApplication
Error:(10, 9) java: cannot find symbol
  symbol:   variable SpringApplication
  location: class com.example.demo.DemoApplication

这是我的 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>

    <groupId>com.example</groupId>
    <artifactId>demo</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>

    <name>demo</name>
    <description>Demo project for Spring Boot</description>

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

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
    </properties>

    <dependencies>
        <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>
        </dependency>
    </dependencies>

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

</project>

这是我的代码/Java 类:

package com.example.demo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class DemoApplication 

    public static void main(String[] args) 
        SpringApplication.run(DemoApplication.class, args);
    

我使用 Spring Initializer 创建了这个项目并保留了所有默认值,但它没有构建。

【问题讨论】:

你试过在普通命令行上构建吗? 从命令行运行 mvn dependency:purge-local-repository 以删除所有依赖项。然后mvn clean verify 再次下载并编译所有内容。您的存储库中可能有一些 borked jars。 我尝试运行 mvn dependency:purge-local-repository 但收到以下错误:[FATAL] Non-resolvable parent POM for com.example:demo:0.0.1-SNAPSHOT: Could not transfer artifact org.springframework.boot:spring-boot-starter-parent:pom:2.0.4.RELEASE from/to central (repo.maven.apache.org/maven2): sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider。 certpath.SunCertPathBuilderException: 无法在没有本地 POM @ 第 15 行第 13 列找到到所请求目标的有效证书路径和“parent.relativePath”点 【参考方案1】:

转到设置 - 构建、执行、部署 > 构建工具 > Maven

检查用户设置文件指向 Setting.xml 所在的正确位置。如果您在 location 上没有 setting.xml。请添加并尝试构建。

【讨论】:

以上是关于多个 Spring Boot 错误:包 org.springframework.boot 不存在的主要内容,如果未能解决你的问题,请参考以下文章

在 Spring Boot 应用程序中读取多个实体扫描包

在 Spring Boot 中的多个包上使用 @ComponentScan 时出错

spring Boot启动报错Initialization of bean failed; nested exception is java.lang.NoSuchMethodError: org.s

nginx 部署多个 spring-boot jar 方式项目

Spring boot 1.4 测试:配置错误:发现@BootstrapWith 的多个声明

Spring boot demo: spring boot生成war包