인프런 커뮤니티 질문&답변

rrr6964님의 프로필 이미지
rrr6964

작성한 질문수

스프링 핵심 원리 - 기본편

애노테이션 직접 만들기

@MainDiscountPolicy 적용이 안되는 것 같습니다.

작성

·

272

·

수정됨

0

오류에는 애노테이션이 문제라고 하는 것 같은데..

답변 1

1

안녕하세요. rrr6964님, 공식 서포터즈 OMG입니다.

lombok이 아닌 lombog는 처음보는데요, 휴먼 에러로 예상이 됩니다.

build.gradle에 lombok의존성 추가 시 직접 타이핑하신걸까요?

lombog대신 lombok으로 변경하여 확인해주세요.

다른 오타도 있을 수 있으니 되도록 강의 자료를 복사하여 확인해보실 것을 권장드립니다.

image

감사합니다.

rrr6964님의 프로필 이미지
rrr6964
질문자

오타 오류도 잘 찾을 줄 알아야하는데ㅠ

감사합니다 덕분에 오류 찾아서 잘 테스트 됐습니다!

근데 혹시

image이런 경고문? 은 왜 뜨는지 알 수 있을까요?

build.gradle의 내용을 복사해서 올려주시겠어요?

rrr6964님의 프로필 이미지
rrr6964
질문자

plugins {
	id 'java'
	id 'org.springframework.boot' version '2.7.14'
	id 'io.spring.dependency-management' version '1.0.15.RELEASE'
}

group = 'hello'
version = '0.0.1-SNAPSHOT'

//lombok 설정 추가 시작
configurations {
	complieOnly{
		extendsFrom annotationProcessor
	}
}
//lombok 설정 추가 끝

java {
	sourceCompatibility = '11'
}

repositories {
	mavenCentral()
}

dependencies {
	implementation 'org.springframework.boot:spring-boot-starter'
	
	//lombok 라이브러리 추가 시작
	compileOnly 'org.projectlombok:lombok'
	annotationProcessor 'org.projectlombok:lombok'
	
	testCompileOnly 'org.projectlombok:lombok'
	testAnnotationProcessor 'org.projectlombok:lombok'
	//lombok 라이브러리 추가 끝
	
	testImplementation 'org.springframework.boot:spring-boot-starter-test'
}

tasks.named('test') {
	useJUnitPlatform()
}

여기요!

올리신 build.gradle을 참고하여 정상 동작하는 프로젝트 코드로 확인하였습니다.

build.gradle을 복사하여 테스트 실행했을 때 재현되었으며, 의심이 가던 부분이

스프링부트 버전 관련 문제여서 다음과 같은 케이스로 테스트 진행하였습니다.

 

[Case 1] 스프링부트 버전 2.7.14 / 의존성 관리 1.0.15

테스트 결과 : 재현 성공

image

[Case 2] 2.4.4 / 1.0.10

테스트 결과 : 재현 실패

  • 여기까지 생각했을 때 단순 스프링 버전 문제겠구나 싶었지만, 의존성 관리 버전을 15에서 10으로 낮춘 이유는 대략 부트 버전이 2.7이니 2.4정도면 15대신 10으로 정하면 되겠다는 기준으로 정한 것이여서 스프링부트 버전과 관리버전을 변경하여서도 확인하였습니다.

image

 

[Case 3] 2.7.14 / 1.0.10

테스트 결과 : 재현 성공

image

 

[Case 4] 2.4.4 / 1.0.15

테스트 결과 : 재현 성공

image

Case 3과 4를 통해 확인할 수 있었던 내용은

단순 스프링 버전 뿐만 아니라 의존성 버전 관리도 영향이 있는 듯하며

스프링 버전을 낮추고 적절한 의존성관리 버전을 지정하면 해결될 수 있음을 확인하였습니다.

 

rrr6964님의 프로필 이미지
rrr6964
질문자

그러면 재현해 주신 [Case 3] 2.7.14 / 1.0.10 으로 제가 수정해서 작업하면 버전이 호환되게 맞춘거니간 괜찮아진다는 말씀이시죠?

아니면 혹시 gradle 의 문제이거나 자바버전이랑 스프링부트 버전을 다시 수정해야할까요?

웹스코프 수업 들으면서 request 예제 돌리는데

Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
2024-02-01 16:07:07.098 ERROR 33864 --- [           main] o.s.boot.SpringApplication               : Application run failed

> Task :CoreApplication.main() FAILED

Deprecated Gradle features were used in this build, making it incompatible with Gradle 9.0.

You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':CoreApplication.main()'.
> Process 'command 'C:\Program Files\Java\jdk-11\bin\java.exe'' finished with non-zero exit value 1

* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.

이렇게 떴습니다.

강사님이 뜬 오류는 아직 다 작성하지 않아서 떳는데 저는 main 자체에서부터 오류라고 하는 것 같아요.

뭔가 버전 자체의 문제라고 하는 것 같기도 하고...

그러면 재현해 주신 [Case 3] 2.7.14 / 1.0.10 으로 제가 수정해서 작업하면 버전이 호환되게 맞춘거니간 괜찮아진다는 말씀이시죠?

네 맞습니다.


 

이후 발생하는 오류는 글을 새로 작성하여 새로운 문제로 등록이 되고 관리가 되어야 할 것 같아요.

발생하는 상황을 정리하여 글을 새로 남겨주세요 😀

 

 

rrr6964님의 프로필 이미지
rrr6964
질문자

계속 답변 남겨주셔서 감사합니다!!

새해 복 많이 받으세요 (╯▽╰ )

rrr6964님의 프로필 이미지
rrr6964

작성한 질문수

질문하기