Spring

오류: java: 패키지 org.springframework.boot가 존재하지 않습니다.

기록만이살길 2022. 11. 30. 21:15
반응형

오류: java: 패키지 org.springframework.boot가 존재하지 않습니다.

1. 질문(문제점):

오늘 실행할 때 몇 가지 오류가 발생하는 간단한 응용 프로그램을 만들었습니다. 나는 잘 작동했지만 지금은 고장난 어제 이것과 매우 유사한 또 다른 응용 프로그램을 만들었습니다.

다음 오류가 발생합니다.

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 초기화 프로그램을 사용하여 새 프로젝트 만들기
  • settings.xml의 설정 경로 확인 중
  • .m2 폴더 삭제
  • 캐시 무효화 및 다시 시작
  • 자동 가져오기를 사용하여 프로젝트 다시 열기
  • 가져오기를 위한 VM 옵션 제거/변경
  • Intellij가 모든 maven 의존성을 다시 읽도록 강제
  • 의존성이 모듈에 있는지 확인
  • Maven 리포지토리 업데이트
  • 다양한 pom.xml 구성
  • 작동하는 것으로 알려진 프로젝트 복제 및 빌드
  • Maven의 기본 실행 파일 변경
  • 자동 동기화 완전히 끄기
  • Intellij 재설치

다른 아이디어가 있습니까?

2. 해결방안:

IntelliJ IDEA 2020.1 및 2020.1.1 버전(2020.1.2에서 수정 예정)에는 경로 매크로가 제대로 확인되지 않아 컴파일러에서 Maven 의존성을 찾을 수 없는 알려진 버그 가 있습니다.

수정 사항이 릴리스될 때까지 해결 방법 을 사용 하거나 2019.3.x 버전으로 다운그레이드할 수 있습니다 .

해결 방법은 설정(macOS의 기본 설정) | 빌드, 실행, 배포 | 빌드 도구 | 메이븐 | 로컬 저장소 (기본값과 다른 값으로 설정).

또는 path.macros.xml파일이 다음 내용이 있는 디렉토리에 있는지 확인하십시오.<IDE config>/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 설치 홈의 경로입니다.

반응형