34 springboot 프로젝트 간의 종속성으로 인해 Bean을 로드할 수 없습니다.
방법 1(확인)
모듈 A는 모듈 B를 소개하지만 모듈 B의 빈은 주입되지 않았습니다.
이유: 모듈 A의 응용 프로그램은 com.xx.xx 패키지 아래에 있으므로 이 패키지 아래의 빈만 스캔할 수 있고 모듈 B의 응용 프로그램은 패키지 com.xxx 아래에 있으며 A가 B를 소개한 후 A는 확실히 상위 레벨 패키지의 빈을 스캔할 수 없습니다.
해결책:
1. 모듈 A와 모듈 B의 응용 프로그램을 com.xx와 같은 동일한 경로에 넣습니다(같은 패키지가 아닌 같은 이름일 뿐입니다).
2. @ComponentScan(value="com.xx") 주석을 사용하여 스캔할 패키지 경로를 지정합니다.
3. 이때 @SpringBootApplication의 스캔 패키지 경로는 선언이 표시되어도(scanBasePackages) 영향을 미치지 않습니다.
@ComponentScan은 @SpringBootApplication으로 주석이 달린 scanBasePackages를 대체합니다.
따라서 모듈 A의 패키지 이름이 모듈 B의 패키지 이름과 일치하지 않으면 A와 B의 패키지를 각각 @ComponentScan에 넣고,
(참고: 이것은 위의 내용과 관련이 없습니다.)
Spring 부트와 함께 제공되는 패키지 플러그인을 사용하지 마십시오.
패키징을 위해 springboot 프로젝트와 함께 제공되는 패키징 플러그인을 사용할 수 없습니다.
<build>
<plugins>
<plugin>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-maven-pluginartifactId>
plugin>
plugins>
build>
대신 기존 프로젝트의 maven 패키징을 사용해야 합니다.
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.pluginsgroupId>
<artifactId>maven-compiler-pluginartifactId>
<configuration>
<source>1.8source>
<target>1.8target>
configuration>
plugin>
plugins>
build>
springboot-maven-plugin에 의해 패키징된 1단계 디렉토리는 Boot-INF이므로 참조할 수 없다.
그리고 로컬 maven 라이브러리에 설치합니다.
maven clean install
재인쇄: https://www.cnblogs.com/guchunchao/p/10783726.html
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.