작업 상태
- querydsl을 vscode에서 작업하던중 발생했습니다.

- vscode 사용중이었고 querydsl 설정은 완료되었고 vscode에서 springboot 시작중에 나온에러입니다.


에러 메시지 

- Project 'back' is missing required source folder: 'src/main/generated/querydsl'

- The type QBoard is already defined


원인

- Q..Entity를 사용했는데 없어서 나오는 에러입니다.


처리

- gradle로 생성해 줍니다.  gradle project > Tasks> ohters > compileQuerydls 실행

생성후 > Entity를 기준으로 Q클래스가 생성됩니다.

- Q클래스들을 생성후 boot를 실행시키면 경우에 따라서 또 다시 아래와 같은 에러가 발생하는 경우가 있습니다.

- The type QBoard is already defined

- 이 에러가 발생한 경우 vscode일 때 새로 생성된 Q클래스들을 인식시키기 위해 전부 생성된 Q클래스들을 클릭해서 열어줍니다.

전부 클릭해서 인식시키후 상황

- 이후 실행하면 정상 실행 됩니다.


참고

- BUILD FAILED in 1s
0. error: Could not find class file com.a3040.member.Member 등 :back:compileQuerydsl FAILED 이 나올경우

이미 Qclass가 생성되어 있는지 확인 queryDsl 이미 실행되어 compileQuerydsl실행 후 프로젝트에 관련 Qclass.java 파일들이 존재하면 발생합니다.

1. 생성된 Qclass가 있는 폴더를 삭제합니다.  > 이후 실행하면 Qclass가 없어서 실행이 안됩니다.

2. gradle project > Tasks> ohters > compileQuerydls 실행 > Qclass는 생성되었으나 이번에는 The type QBoard is already defined: <--이 에러로 실행 안됩니다.

3. vscode에서 자동 생성된 class를 인식시킵니다. 다 열어봄 > 잘 실행 됩니다.

4. 이상태에서 뭔간 변경되어 수정하고 compileQuerydls을 실행할경우 이번에는 기본 Entity 클래스가 없다는 에러가 발생합니다.  0번 부터 다시 확인합니다.

작업 상태

- spring boot 3.x 에서 스프링시큐리티로 로그인 작업을 하던중 에러가 발생함

 

에러 메시지

'org.springframework.security.authentication.AuthenticationManager' that could not be found.

 

원인

스프링 부트 3에 오면서 AuthenticationManager 설정 방법이 달라짐

 

처리

@Configuration
public class SecurityConfig {
 ...
   
   @Bean
    public AuthenticationManager authenticationManager(AuthenticationConfiguration authenticationConfiguration)
            throws Exception {
        return authenticationConfiguration.getAuthenticationManager();
    }

특이 사항 없음:

참조:

java - Springboot 3.0.0-M2 AuthenticationManager - Stack Overflow

 

Springboot 3.0.0-M2 AuthenticationManager

I wanted to create a backend using spring boot. When I executed the application, this exception was thrown: Field authenticationManager in projekt.controller.AuthController required a bean of type...

stackoverflow.com

Servlet Authentication Architecture :: Spring Security

 

Servlet Authentication Architecture :: Spring Security

ProviderManager is the most commonly used implementation of AuthenticationManager. ProviderManager delegates to a List of AuthenticationProvider instances. Each AuthenticationProvider has an opportunity to indicate that authentication should be successful,

docs.spring.io

 

AuthenticationManager는 Spring Security에서 인증(authentication)을 처리하는 인터페이스입니다. 
AuthenticationManager는 인증 처리를 위해 Authentication 객체를 받아 인증을 시도합니다.
인증이 성공하면 인증된 Authentication 객체를 반환하고, 
인증이 실패하면 AuthenticationException을 던집니다.

+ Recent posts