inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

172만명의 커뮤니티!! 함께 토론해봐요.

스프링 데이터 JPA 질문

해결됨

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

@Bean public MemberRepository memberRepository() { return new MemoryMemberRepository(); return new JdbcMemberRepository(dataSource); return new JdbcTemplateMemberRepository(dataSource); return new JpaMemberRepository(em); } 안녕하세요 위 코드를 JPA 사용할 때까지 계속 사용했는데 스프링 데이터 JPA 사용할 때는 왜 주석 처리 하는지 궁금합니다. 좋은 강의 해주셔서 감사합니다.

  • springdatajpa
  • spring-boot
  • MVC
  • spring
  • java
심야 댓글 1 좋아요 0 조회수 496

array와 arraylist 장단점

해결됨

자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비

array 문제들을 풀던 중 배열의 크기가 정해져 있을 때는 arraylist를 사용하지 않고 array를 사용하는 것 같던데 크기를 알고 있으면 array를 사용하는 것이 더 효율적인가요? arraylist를 사용하지 않고 array를 사용하였을 때의 장단점이 무엇인지 궁금합니다.

  • java
  • 코테 준비 같이 해요!
고정원 댓글 1 좋아요 0 조회수 375

생성자에서 컬럼을 선언할지, class body 에서 선언할지의 기준이 무엇인지 궁금합니다 :)

미해결

실전! 코틀린과 스프링 부트로 도서관리 애플리케이션 개발하기 (Java 프로젝트 리팩토링)

선생님 안녕하세요 :) 14강 잘 보았습니다 ㅎㅎ 생성자에서 컬럼을 선언하는 것 class body 에서 선언하는 것 둘 다 되지만 명확한 기준이 있다면 좋다고 하셨는데요, 이 구체적인 기준이 무엇인지 궁금해요~

  • spring-boot
  • java
  • spring
  • kotlin
  • refactoring
정승원B 댓글 1 좋아요 1 조회수 267

정적 팩토리 메서드에 대해 질문이 있습니다.

미해결

이펙티브 자바 완벽 공략 1부

정적 팩토리 메서드를 사용하지 않을 이유가 있나? 라는 의문이 듭니다. 강의에서도 말씀하시길 무조건 정적 팩토리 메서드를 고려하지 말고 상황에 맞춰 정적 팩토리 메서드를 사용하라 하셨는데요. 상속 관련 부분과 javadoc 관련 부분을 제외하면 무조건 사용하는 것이 맞지 않나 생각이 듭니다. 제가 생각하는 큰 장점은 새로운 인스턴스를 생성하지 않아 GC가 실행되는 빈도수?가 적어지기 때문에 무조건 사용하는 것이 맞다고 생각하는데 혹시 제가 놓치고 있는 부분이 있는지 궁금합니다.

  • java
yoonho 댓글 0 좋아요 0 조회수 555

양방향 연관관계에서 관계를 바꿀 때

해결됨

실전! 스프링 데이터 JPA

[질문 내용] 안녕하세요. 예전 부터 궁금했던 내용인데, 혹시 나중에 나오지 않을까 해서 미루다가 결국 질문합니다..! public void changeTeam(Team team){ this.team = team; team.getMembers().add(this); } 예전 강의에서는 양방향 연관 관계에서 주인이 관계를 변경할 때 위처럼 Member Entity는 자신의 필드에 새로운 Team을 세팅하고 Team은 Member를 list에 추가하는 식으로만 마무리했던 것으로 기억합니다. 지나가는 말로 영한님께서 기존 Member와 연관 관계에 있던 Team list에서 Member를 remove하는 작업도 해야 하는데, 연습하는 거니까 빼셨다고 하셨던 것 같습니다. 이 부분이 조금 궁금했습니다. 관계가 바뀌기 이전의 기존 Member의 Team list에서 Member를 지워 주는 부분을 어떤식으로 작성해야 할 지 조금 감이 안 잡힙니다..ㅠㅠ 고려할 사항이 너무나도 많다고 해야 할까요.. public void changeTeam(Team team){ this.team.getMembers().remove(this); this.team = team; team.getMembers().add(this); } 위처럼 단순히 remove()를 사용하기에는 몇 가지 고려할 사항들이 있었습니다. 첫 번째 문제는 remove()의 경우 add와 달리 list의 Member들을 필요로 하는 로직이 들어 있기 때문에 DB로부터 Team의 Member list 정보를 불러온 다음에 동작한다는 점입니다. 특정 로직은 Team의 Members를 사용할 일이 없어 굳이 DB와 Entity그래프를 일치시킬 필요가 없는데, remove()로직이 들어가면서 DB를 조회하는 일이 생긴다는 점입니다. 이로 인한 성능상 문제는 정말 미세하겠지만, 뭔가 조금 걸리는 느낌입니다.. 두 번째는 remove()를 할 때에 eqauls()를 사용한다는 점입니다. 단순히 equals()를 오버라이딩하여 구현하면 될 줄 알았지만, 이 부분도 고려할 부분이 생각 보다 많았습니다. 크게 세 가지로 나뉘는 것 같았습니다. pk를 이용한 equals()오버라이딩 pk와 연관관계 필드를 제외한 필드로 eqauls()를 오버라이딩 Business-Id를 이용한 eqauls()오버라이딩 이렇게 세 가지 사항 정도가 고려되는 것 같았습니다. 각각의 장단점이 있어 보였는데, 3번이 제일 괜찮은 방식으로 보였습니다. 1번은 pk가 GenerateValue방식일 경우 Entity가 persist되기 이전에는 pk를 초기화하지 못 해, set과 같은 Collection을 사용할 때 제한이 생긴다는 점이나 NPE발생 가능성 내재, pk값이 null인 객체가 같은 객체로 인식이 되는 위험, 비영속 상태 객체와 영속 상태 객체의 eqauls연산 시 일치 불가 등이 있는 것 같았습니다. 사실 위의 문제점들이 발생할 만한 로직을 실제 작성하게 될 일이 많지는 않을 것 같지만 뭔가 내재된 위험이 많아 보여 패스했습니다. 2번은 pk와 연관 관계 필드를 제외한 모든 필드들이 합쳐서 Unique한 값을 갖지 못할 경우 중복이 발생하는 문제점이 있어 보였습니다. 3번이 제일 적절해 보였지만 Business-Id로 사용할 만한 데이터가 없을 경우 문제가 있을 것 같았습니다. 특정 글에서는 UUID와 같이 Business-Id를 일부로 두기도 한다는 것 같은데 괜찮은 방식인 지는 모르겠습니다. 내용이 길어졌는데 결론은 양방향 연관 관계에서 관계를 바꿔 줄 때 Entity 그래프를 일치시키기 위해서 어떤 형태로 로직을 작성하는 지 궁금하다는 것입니다. 이렇게 보니 제가 너무 이상한 방식으로 접근한 게 아닌가 생각이 듭니다ㅠㅠ 현업에서는 어떤 식으로 구현하는 지 궁금한데 혼자 공부하다 보니 마땅히 예시를 볼만한 곳이 없어 질문드립니다. 긴 글 읽어 주셔서 감사합니다..! (_ _)

  • java
  • spring-boot
  • spring
  • JPA
공부용 댓글 1 좋아요 0 조회수 475

Remember Me

미해결

스프링 시큐리티

안녕하세요. remember-me 기능을 처리하는 과정에서 문제가 발생하여 질문 남깁니다. 먼저 강의를 따라 구현한 AuthenticationProvider 구현체와 rememberMe 관련 설정입니다. remeber-me input을 체크하고 로그인을 시도하였습니다. 인증을 마치고 RemeberMeService 를 거쳐 TokenBasedRememberMeServices 에서 토큰을 만드는 과정에서 username 과 password 를 조회하는데 인증 객체가 UserPasswordAuthenticationToken 인스턴스이기 때문에 아래 조건문에 따라 toString() 을 반환합니다. 결과적으로 아래와 같이 다른 username 을 반환받았습니다. 그리고 비밀번호를 조회하여 null 을 반환받고 그로 인해 password 를 찾기위해 아래 조건식에 따라 loadUserByUsername 을 통해 user 를 조회하게 됩니다. 이 과정에서 UsernameNotFoundException 예외가 발생합니다. 단순히 toString() 을 username 을 반환하도록 구현하여 해결했습니다만 잘못 구현된 부분이나 잘못 이해한 부분 혹은 다른 해결방법이 있는지에 대해 질문 드립니다. --추가-- 아래와 같이 수정하는 방법으로도 해결됨을 확인하였습니다. 토큰에 Account, null 을 준 방식과 어떠한 차이점이 있는지 알고 싶습니다.

  • Spring Security
  • spring-boot
  • java
감채 댓글 2 좋아요 1 조회수 514

gradle build 시 sync 에러

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

안녕하세요 ! 강의 따라하고 있는데 빌드시 해당 오류를 해결하기 어려워 질문 남깁니다. A problem occurred configuring root project 'hello-spring'. > Could not resolve all artifacts for configuration ':classpath'. > Could not resolve org.springframework.boot:spring-boot-buildpack-platform:2.4.8. Required by: project : > org.springframework.boot:org.springframework.boot.gradle.plugin:2.4.8 > org.springframework.boot:spring-boot-gradle-plugin:2.4.8 > Could not resolve org.springframework.boot:spring-boot-buildpack-platform:2.4.8. > Could not get resource ' https://plugins.gradle.org/m2/org/springframework/boot/spring-boot-buildpack-platform/2.4.8/spring-boot-buildpack-platform-2.4.8.pom '. > Could not GET ' https://jcenter.bintray.com/org/springframework/boot/spring-boot-buildpack-platform/2.4.8/spring-boot-buildpack-platform-2.4.8.pom '. > PKIX path validation failed: java.security .cert.CertPathValidatorException: validity check failed > Could not resolve org.springframework.boot:spring-boot-loader-tools:2.4.8. Required by: project : > org.springframework.boot:org.springframework.boot.gradle.plugin:2.4.8 > org.springframework.boot:spring-boot-gradle-plugin:2.4.8 > Could not resolve org.springframework.boot:spring-boot-loader-tools:2.4.8. > Could not get resource ' https://plugins.gradle.org/m2/org/springframework/boot/spring-boot-loader-tools/2.4.8/spring-boot-loader-tools-2.4.8.pom '. > Could not GET ' https://jcenter.bintray.com/org/springframework/boot/spring-boot-loader-tools/2.4.8/spring-boot-loader-tools-2.4.8.pom '. > PKIX path validation failed: java.security .cert.CertPathValidatorException: validity check failed > Could not resolve org.apache.commons:commons-compress:1.20. Required by: project : > org.springframework.boot:org.springframework.boot.gradle.plugin:2.4.8 > org.springframework.boot:spring-boot-gradle-plugin:2.4.8 > Could not resolve org.apache.commons:commons-compress:1.20. > Could not get resource ' https://plugins.gradle.org/m2/org/apache/commons/commons-compress/1.20/commons-compress-1.20.pom '. > Could not GET ' https://jcenter.bintray.com/org/apache/commons/commons-compress/1.20/commons-compress-1.20.pom '. > PKIX path validation failed: java.security .cert.CertPathValidatorException: validity check failed > Could not resolve org.springframework:spring-core:5.3.8. Required by: project : > org.springframework.boot:org.springframework.boot.gradle.plugin:2.4.8 > org.springframework.boot:spring-boot-gradle-plugin:2.4.8 > Could not resolve org.springframework:spring-core:5.3.8. > Could not get resource ' https://plugins.gradle.org/m2/org/springframework/spring-core/5.3.8/spring-core-5.3.8.pom '. > Could not GET ' https://jcenter.bintray.com/org/springframework/spring-core/5.3.8/spring-core-5.3.8.pom '. > PKIX path validation failed: java.security .cert.CertPathValidatorException: validity check failed * Try: Run with --info or --debug option to get more log output. Run with --scan to get full insights. * Exception is: org.gradle.api.ProjectConfigurationException: A problem occurred configuring root project 'hello-spring'. at org.gradle.configuration.project.LifecycleProjectEvaluator.wrapException( LifecycleProjectEvaluator.java:75 ) at org.gradle.configuration.project.LifecycleProjectEvaluator.addConfigurationFailure( LifecycleProjectEvaluator.java:68 ) at org.gradle.configuration.project.LifecycleProjectEvaluator.access$400( LifecycleProjectEvaluator.java:51 ) at org.gradle.configuration.project.LifecycleProjectEvaluator$EvaluateProject.lambda$run$0( LifecycleProjectEvaluator.java:102 ) at org.gradle.api.internal.project.DefaultProjectStateRegistry$ProjectStateImpl.lambda$applyToMutableState$0( DefaultProjectStateRegistry.java:250 ) at org.gradle.api.internal.project.DefaultProjectStateRegistry$ProjectStateImpl.lambda$withProjectLock$3( DefaultProjectStateRegistry.java:310 ) at org.gradle.internal.work .DefaultWorkerLeaseService.withLocks( DefaultWorkerLeaseService.java:213 ) at org.gradle.api.internal.project.DefaultProjectStateRegistry$ProjectStateImpl.withProjectLock( DefaultProjectStateRegistry.java:310 ) at org.gradle.api.internal.project.DefaultProjectStateRegistry$ProjectStateImpl.fromMutableState( DefaultProjectStateRegistry.java:291 ) at org.gradle.api.internal.project.DefaultProjectStateRegistry$ProjectStateImpl.applyToMutableState( DefaultProjectStateRegistry.java:249 ) at org.gradle.configuration.project.LifecycleProjectEvaluator$EvaluateProject.run( LifecycleProjectEvaluator.java:91 ) at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute( DefaultBuildOperationRunner.java:29 ) at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute( DefaultBuildOperationRunner.java:26 ) at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute( DefaultBuildOperationRunner.java:75 ) at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute( DefaultBuildOperationRunner.java:68 ) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute( DefaultBuildOperationRunner.java:153 ) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute( DefaultBuildOperationRunner.java:68 ) at org.gradle.internal.operations.DefaultBuildOperationRunner.run ( DefaultBuildOperationRunner.java:56 ) at org.gradle.internal.operations.DefaultBuildOperationExecutor.lambda$run$1( DefaultBuildOperationExecutor.java:71 ) at org.gradle.internal.operations.UnmanagedBuildOperationWrapper.runWithUnmanagedSupport( UnmanagedBuildOperationWrapper.java:45 ) at org.gradle.internal.operations.DefaultBuildOperationExecutor.run ( DefaultBuildOperationExecutor.java:71 ) at org.gradle.configuration.project.LifecycleProjectEvaluator.evaluate( LifecycleProjectEvaluator.java:63 ) at org.gradle.api.internal.project.DefaultProject.evaluate( DefaultProject.java:721 ) at org.gradle.api.internal.project.DefaultProject.evaluate( DefaultProject.java:151 ) at org.gradle.execution.TaskPathProjectEvaluator.configure( TaskPathProjectEvaluator.java:41 ) at org.gradle.execution.TaskPathProjectEvaluator.configureHierarchy( TaskPathProjectEvaluator.java:67 ) at org.gradle.configuration.DefaultProjectsPreparer.prepareProjects( DefaultProjectsPreparer.java:46 ) at org.gradle.configuration.BuildTreePreparingProjectsPreparer.prepareProjects( BuildTreePreparingProjectsPreparer.java:57 ) at org.gradle.configuration.BuildOperationFiringProjectsPreparer$ConfigureBuild.run( BuildOperationFiringProjectsPreparer.java:52 ) at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute( DefaultBuildOperationRunner.java:29 ) at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute( DefaultBuildOperationRunner.java:26 ) at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute( DefaultBuildOperationRunner.java:75 ) at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute( DefaultBuildOperationRunner.java:68 ) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute( DefaultBuildOperationRunner.java:153 ) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute( DefaultBuildOperationRunner.java:68 ) at org.gradle.internal.operations.DefaultBuildOperationRunner.run ( DefaultBuildOperationRunner.java:56 ) at org.gradle.internal.operations.DefaultBuildOperationExecutor.lambda$run$1( DefaultBuildOperationExecutor.java:71 ) at org.gradle.internal.operations.UnmanagedBuildOperationWrapper.runWithUnmanagedSupport( UnmanagedBuildOperationWrapper.java:45 ) at org.gradle.internal.operations.DefaultBuildOperationExecutor.run ( DefaultBuildOperationExecutor.java:71 ) at org.gradle.configuration.BuildOperationFiringProjectsPreparer.prepareProjects( BuildOperationFiringProjectsPreparer.java:40 ) at org.gradle.initialization.DefaultGradleLauncher.prepareProjects( DefaultGradleLauncher.java:226 ) at org.gradle.initialization.DefaultGradleLauncher.doClassicBuildStages( DefaultGradleLauncher.java:163 ) at org.gradle.initialization.DefaultGradleLauncher.doBuildStages( DefaultGradleLauncher.java:148 ) at org.gradle.initialization.DefaultGradleLauncher.executeTasks( DefaultGradleLauncher.java:124 ) at org.gradle.internal.invocation.GradleBuildController$1.create( GradleBuildController.java:72 ) at org.gradle.internal.invocation.GradleBuildController$1.create( GradleBuildController.java:67 ) at org.gradle.internal.work .DefaultWorkerLeaseService.withLocks( DefaultWorkerLeaseService.java:213 ) at org.gradle.internal.invocation.GradleBuildController.doBuild( GradleBuildController.java:67 ) at org.gradle.internal.invocation.GradleBuildController.run ( GradleBuildController.java:56 ) at org.gradle.tooling.internal.provider.runner.AbstractClientProvidedBuildActionRunner.runClientAction( AbstractClientProvidedBuildActionRunner.java:53 ) at org.gradle.tooling.internal.provider.runner.ClientProvidedPhasedActionRunner.run ( ClientProvidedPhasedActionRunner.java:47 ) at org.gradle.launcher.exec.ChainingBuildActionRunner.run ( ChainingBuildActionRunner.java:35 ) at org.gradle.launcher.exec.ChainingBuildActionRunner.run ( ChainingBuildActionRunner.java:35 ) at org.gradle.launcher.exec.BuildOutcomeReportingBuildActionRunner.run ( BuildOutcomeReportingBuildActionRunner.java:63 ) at org.gradle.tooling.internal.provider.ValidatingBuildActionRunner.run ( ValidatingBuildActionRunner.java:32 ) at org.gradle.tooling.internal.provider.FileSystemWatchingBuildActionRunner.run ( FileSystemWatchingBuildActionRunner.java:77 ) at org.gradle.launcher.exec.BuildCompletionNotifyingBuildActionRunner.run ( BuildCompletionNotifyingBuildActionRunner.java:41 ) at org.gradle.launcher.exec.RunAsBuildOperationBuildActionRunner$3.call( RunAsBuildOperationBuildActionRunner.java:49 ) at org.gradle.launcher.exec.RunAsBuildOperationBuildActionRunner$3.call( RunAsBuildOperationBuildActionRunner.java:44 ) at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute( DefaultBuildOperationRunner.java:200 ) at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute( DefaultBuildOperationRunner.java:195 ) at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute( DefaultBuildOperationRunner.java:75 ) at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute( DefaultBuildOperationRunner.java:68 ) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute( DefaultBuildOperationRunner.java:153 ) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute( DefaultBuildOperationRunner.java:68 ) at org.gradle.internal.operations.DefaultBuildOperationRunner.call ( DefaultBuildOperationRunner.java:62 ) at org.gradle.internal.operations.DefaultBuildOperationExecutor.lambda$call$2( DefaultBuildOperationExecutor.java:76 ) at org.gradle.internal.operations.UnmanagedBuildOperationWrapper.callWithUnmanagedSupport( UnmanagedBuildOperationWrapper.java:54 ) at org.gradle.internal.operations.DefaultBuildOperationExecutor.call ( DefaultBuildOperationExecutor.java:76 ) at org.gradle.launcher.exec.RunAsBuildOperationBuildActionRunner.run ( RunAsBuildOperationBuildActionRunner.java:44 ) at org.gradle.launcher.exec.InProcessBuildActionExecuter.lambda$execute$0( InProcessBuildActionExecuter.java:59 ) at org.gradle.composite.internal.DefaultRootBuildState.run ( DefaultRootBuildState.java:86 ) at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute( InProcessBuildActionExecuter.java:58 ) at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute( InProcessBuildActionExecuter.java:30 ) at org.gradle.launcher.exec.BuildTreeScopeLifecycleBuildActionExecuter.lambda$execute$0( BuildTreeScopeLifecycleBuildActionExecuter.java:33 ) at org.gradle.internal.buildtree.BuildTreeState.run ( BuildTreeState.java:53 ) at org.gradle.launcher.exec.BuildTreeScopeLifecycleBuildActionExecuter.execute( BuildTreeScopeLifecycleBuildActionExecuter.java:32 ) at org.gradle.launcher.exec.BuildTreeScopeLifecycleBuildActionExecuter.execute( BuildTreeScopeLifecycleBuildActionExecuter.java:27 ) at org.gradle.tooling.internal.provider.ContinuousBuildActionExecuter.execute( ContinuousBuildActionExecuter.java:104 ) at org.gradle.tooling.internal.provider.ContinuousBuildActionExecuter.execute( ContinuousBuildActionExecuter.java:55 ) at org.gradle.tooling.internal.provider.SubscribableBuildActionExecuter.execute( SubscribableBuildActionExecuter.java:64 ) at org.gradle.tooling.internal.provider.SubscribableBuildActionExecuter.execute( SubscribableBuildActionExecuter.java:37 ) at org.gradle.tooling.internal.provider.SessionScopeLifecycleBuildActionExecuter.lambda$execute$0( SessionScopeLifecycleBuildActionExecuter.java:54 ) at org.gradle.internal.session.BuildSessionState.run ( BuildSessionState.java:67 ) at org.gradle.tooling.internal.provider.SessionScopeLifecycleBuildActionExecuter.execute( SessionScopeLifecycleBuildActionExecuter.java:50 ) at org.gradle.tooling.internal.provider.SessionScopeLifecycleBuildActionExecuter.execute( SessionScopeLifecycleBuildActionExecuter.java:36 ) at org.gradle.tooling.internal.provider.GradleThreadBuildActionExecuter.execute( GradleThreadBuildActionExecuter.java:36 ) at org.gradle.tooling.internal.provider.GradleThreadBuildActionExecuter.execute( GradleThreadBuildActionExecuter.java:25 ) at org.gradle.tooling.internal.provider.StartParamsValidatingActionExecuter.execute( StartParamsValidatingActionExecuter.java:59 ) at org.gradle.tooling.internal.provider.StartParamsValidatingActionExecuter.execute( StartParamsValidatingActionExecuter.java:31 ) at org.gradle.tooling.internal.provider.SessionFailureReportingActionExecuter.execute( SessionFailureReportingActionExecuter.java:55 ) at org.gradle.tooling.internal.provider.SessionFailureReportingActionExecuter.execute( SessionFailureReportingActionExecuter.java:41 ) at org.gradle.tooling.internal.provider.SetupLoggingActionExecuter.execute( SetupLoggingActionExecuter.java:47 ) at org.gradle.tooling.internal.provider.SetupLoggingActionExecuter.execute( SetupLoggingActionExecuter.java:31 ) at org.gradle.launcher.daemon.server.exec.ExecuteBuild.doBuild( ExecuteBuild.java:65 ) at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute( BuildCommandOnly.java:37 ) at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed( DaemonCommandExecution.java:104 ) at org.gradle.launcher.daemon.server.exec.WatchForDisconnection.execute( WatchForDisconnection.java:39 ) at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed( DaemonCommandExecution.java:104 ) at org.gradle.launcher.daemon.server.exec.ResetDeprecationLogger.execute( ResetDeprecationLogger.java:29 ) at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed( DaemonCommandExecution.java:104 ) at org.gradle.launcher.daemon.server.exec.RequestStopIfSingleUsedDaemon.execute( RequestStopIfSingleUsedDaemon.java:35 ) at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed( DaemonCommandExecution.java:104 ) at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.create( ForwardClientInput.java:78 ) at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.create( ForwardClientInput.java:75 ) at org.gradle.util.Swapper.swap( Swapper.java:38 ) at org.gradle.launcher.daemon.server.exec.ForwardClientInput.execute( ForwardClientInput.java:75 ) at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed( DaemonCommandExecution.java:104 ) at org.gradle.launcher.daemon.server.exec.LogAndCheckHealth.execute( LogAndCheckHealth.java:55 ) at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed( DaemonCommandExecution.java:104 ) at org.gradle.launcher.daemon.server.exec.LogToClient.doBuild( LogToClient.java:63 ) at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute( BuildCommandOnly.java:37 ) at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed( DaemonCommandExecution.java:104 ) at org.gradle.launcher.daemon.server.exec.EstablishBuildEnvironment.doBuild( EstablishBuildEnvironment.java:84 ) at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute( BuildCommandOnly.java:37 ) at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed( DaemonCommandExecution.java:104 ) at org.gradle.launcher.daemon.server.exec.StartBuildOrRespondWithBusy$1.run( StartBuildOrRespondWithBusy.java:52 ) at org.gradle.launcher.daemon.server.DaemonStateCoordinator$1.run( DaemonStateCoordinator.java:297 ) at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute( ExecutorPolicy.java:64 ) at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run( ManagedExecutorImpl.java:48 ) at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run( ThreadFactoryImpl.java:56 ) Caused by: org.gradle.api.internal.artifacts.ivyservice.DefaultLenientConfiguration$ArtifactResolveException: Could not resolve all artifacts for configuration ':classpath'. at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration.rethrowFailure( DefaultConfiguration.java:1406 ) at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration.access$3600( DefaultConfiguration.java:149 ) at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration$DefaultResolutionHost.rethrowFailure( DefaultConfiguration.java:2011 ) at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration$ConfigurationArtifactCollection.lambda$new$0( DefaultConfiguration.java:1955 ) at org.gradle.internal.model.CalculatedValueContainerFactory$SupplierBackedCalculator.calculateValue( CalculatedValueContainerFactory.java:78 ) at org.gradle.internal.model.CalculatedValueContainer$CalculationState.lambda$attachValue$0( CalculatedValueContainer.java:216 ) at org.gradle.internal.Try.ofFailable( Try.java:39 ) at org.gradle.internal.model.CalculatedValueContainer$CalculationState.attachValue( CalculatedValueContainer.java:211 ) at org.gradle.internal.model.CalculatedValueContainer.finalizeIfNotAlready( CalculatedValueContainer.java:184 ) at org.gradle.internal.model.CalculatedValueContainer.finalizeIfNotAlready( CalculatedValueContainer.java:175 ) at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration$ConfigurationArtifactCollection.ensureResolved( DefaultConfiguration.java:1991 ) at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration$ConfigurationArtifactCollection.getArtifacts( DefaultConfiguration.java:1968 ) at org.gradle.composite.internal.CompositeBuildClassPathInitializer.execute( CompositeBuildClassPathInitializer.java:45 ) at org.gradle.composite.internal.CompositeBuildClassPathInitializer.execute( CompositeBuildClassPathInitializer.java:32 ) at org.gradle.api.internal.initialization.DefaultScriptClassPathResolver.resolveClassPath( DefaultScriptClassPathResolver.java:40 ) at org.gradle.api.internal.initialization.DefaultScriptHandler.getScriptClassPath( DefaultScriptHandler.java:88 ) at org.gradle.plugin.use.internal.DefaultPluginRequestApplicator.defineScriptHandlerClassScope( DefaultPluginRequestApplicator.java:155 ) at org.gradle.plugin.use.internal.DefaultPluginRequestApplicator.applyPlugins( DefaultPluginRequestApplicator.java:119 ) at org.gradle.configuration.DefaultScriptPluginFactory$ScriptPluginImpl.apply( DefaultScriptPluginFactory.java:117 ) at org.gradle.configuration.BuildOperationScriptPlugin$1.run( BuildOperationScriptPlugin.java:65 ) at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute( DefaultBuildOperationRunner.java:29 ) at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute( DefaultBuildOperationRunner.java:26 ) at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute( DefaultBuildOperationRunner.java:75 ) at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute( DefaultBuildOperationRunner.java:68 ) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute( DefaultBuildOperationRunner.java:153 ) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute( DefaultBuildOperationRunner.java:68 ) at org.gradle.internal.operations.DefaultBuildOperationRunner.run ( DefaultBuildOperationRunner.java:56 ) at org.gradle.internal.operations.DefaultBuildOperationExecutor.lambda$run$1( DefaultBuildOperationExecutor.java:71 ) at org.gradle.internal.operations.UnmanagedBuildOperationWrapper.runWithUnmanagedSupport( UnmanagedBuildOperationWrapper.java:45 ) at org.gradle.internal.operations.DefaultBuildOperationExecutor.run ( DefaultBuildOperationExecutor.java:71 ) at org.gradle.configuration.BuildOperationScriptPlugin.lambda$apply$0( BuildOperationScriptPlugin.java:62 ) at org.gradle.configuration.internal.DefaultUserCodeApplicationContext.apply( DefaultUserCodeApplicationContext.java:43 ) at org.gradle.configuration.BuildOperationScriptPlugin.apply( BuildOperationScriptPlugin.java:62 ) at org.gradle.api.internal.project.DefaultProjectStateRegistry$ProjectStateImpl.lambda$applyToMutableState$0( DefaultProjectStateRegistry.java:250 ) at org.gradle.api.internal.project.DefaultProjectStateRegistry$ProjectStateImpl.fromMutableState( DefaultProjectStateRegistry.java:277 ) at org.gradle.api.internal.project.DefaultProjectStateRegistry$ProjectStateImpl.applyToMutableState( DefaultProjectStateRegistry.java:249 ) at org.gradle.configuration.project.BuildScriptProcessor.execute( BuildScriptProcessor.java:42 ) at org.gradle.configuration.project.BuildScriptProcessor.execute( BuildScriptProcessor.java:26 ) at org.gradle.configuration.project.ConfigureActionsProjectEvaluator.evaluate( ConfigureActionsProjectEvaluator.java:35 ) at org.gradle.configuration.project.LifecycleProjectEvaluator$EvaluateProject.lambda$run$0( LifecycleProjectEvaluator.java:100 ) at org.gradle.api.internal.project.DefaultProjectStateRegistry$ProjectStateImpl.lambda$applyToMutableState$0( DefaultProjectStateRegistry.java:250 ) at org.gradle.api.internal.project.DefaultProjectStateRegistry$ProjectStateImpl.lambda$withProjectLock$3( DefaultProjectStateRegistry.java:310 ) at org.gradle.internal.work .DefaultWorkerLeaseService.withLocks( DefaultWorkerLeaseService.java:213 ) at org.gradle.api.internal.project.DefaultProjectStateRegistry$ProjectStateImpl.withProjectLock( DefaultProjectStateRegistry.java:310 ) at org.gradle.api.internal.project.DefaultProjectStateRegistry$ProjectStateImpl.fromMutableState( DefaultProjectStateRegistry.java:291 ) at org.gradle.api.internal.project.DefaultProjectStateRegistry$ProjectStateImpl.applyToMutableState( DefaultProjectStateRegistry.java:249 ) at org.gradle.configuration.project.LifecycleProjectEvaluator$EvaluateProject.run( LifecycleProjectEvaluator.java:91 ) at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute( DefaultBuildOperationRunner.java:29 ) at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute( DefaultBuildOperationRunner.java:26 ) at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute( DefaultBuildOperationRunner.java:75 ) at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute( DefaultBuildOperationRunner.java:68 ) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute( DefaultBuildOperationRunner.java:153 ) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute( DefaultBuildOperationRunner.java:68 ) at org.gradle.internal.operations.DefaultBuildOperationRunner.run ( DefaultBuildOperationRunner.java:56 ) at org.gradle.internal.operations.DefaultBuildOperationExecutor.lambda$run$1( DefaultBuildOperationExecutor.java:71 ) at org.gradle.internal.operations.UnmanagedBuildOperationWrapper.runWithUnmanagedSupport( UnmanagedBuildOperationWrapper.java:45 ) at org.gradle.internal.operations.DefaultBuildOperationExecutor.run ( DefaultBuildOperationExecutor.java:71 ) at org.gradle.configuration.project.LifecycleProjectEvaluator.evaluate( LifecycleProjectEvaluator.java:63 ) at org.gradle.api.internal.project.DefaultProject.evaluate( DefaultProject.java:721 ) at org.gradle.api.internal.project.DefaultProject.evaluate( DefaultProject.java:151 ) at org.gradle.execution.TaskPathProjectEvaluator.configure( TaskPathProjectEvaluator.java:41 ) at org.gradle.execution.TaskPathProjectEvaluator.configureHierarchy( TaskPathProjectEvaluator.java:67 ) at org.gradle.configuration.DefaultProjectsPreparer.prepareProjects( DefaultProjectsPreparer.java:46 ) at org.gradle.configuration.BuildTreePreparingProjectsPreparer.prepareProjects( BuildTreePreparingProjectsPreparer.java:57 ) at org.gradle.configuration.BuildOperationFiringProjectsPreparer$ConfigureBuild.run( BuildOperationFiringProjectsPreparer.java:52 ) at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute( DefaultBuildOperationRunner.java:29 ) at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute( DefaultBuildOperationRunner.java:26 ) at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute( DefaultBuildOperationRunner.java:75 ) at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute( DefaultBuildOperationRunner.java:68 ) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute( DefaultBuildOperationRunner.java:153 ) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute( DefaultBuildOperationRunner.java:68 ) at org.gradle.internal.operations.DefaultBuildOperationRunner.run ( DefaultBuildOperationRunner.java:56 ) at org.gradle.internal.operations.DefaultBuildOperationExecutor.lambda$run$1( DefaultBuildOperationExecutor.java:71 ) at org.gradle.internal.operations.UnmanagedBuildOperationWrapper.runWithUnmanagedSupport( UnmanagedBuildOperationWrapper.java:45 ) at org.gradle.internal.operations.DefaultBuildOperationExecutor.run ( DefaultBuildOperationExecutor.java:71 ) at org.gradle.configuration.BuildOperationFiringProjectsPreparer.prepareProjects( BuildOperationFiringProjectsPreparer.java:40 ) at org.gradle.initialization.DefaultGradleLauncher.prepareProjects( DefaultGradleLauncher.java:226 ) at org.gradle.initialization.DefaultGradleLauncher.doClassicBuildStages( DefaultGradleLauncher.java:163 ) at org.gradle.initialization.DefaultGradleLauncher.doBuildStages( DefaultGradleLauncher.java:148 ) at org.gradle.initialization.DefaultGradleLauncher.executeTasks( DefaultGradleLauncher.java:124 ) at org.gradle.internal.invocation.GradleBuildController$1.create( GradleBuildController.java:72 ) at org.gradle.internal.invocation.GradleBuildController$1.create( GradleBuildController.java:67 ) at org.gradle.internal.work .DefaultWorkerLeaseService.withLocks( DefaultWorkerLeaseService.java:213 ) at org.gradle.internal.invocation.GradleBuildController.doBuild( GradleBuildController.java:67 ) at org.gradle.internal.invocation.GradleBuildController.run ( GradleBuildController.java:56 ) at org.gradle.tooling.internal.provider.runner.AbstractClientProvidedBuildActionRunner.runClientAction( AbstractClientProvidedBuildActionRunner.java:53 ) at org.gradle.tooling.internal.provider.runner.ClientProvidedPhasedActionRunner.run ( ClientProvidedPhasedActionRunner.java:47 ) at org.gradle.launcher.exec.ChainingBuildActionRunner.run ( ChainingBuildActionRunner.java:35 ) at org.gradle.launcher.exec.ChainingBuildActionRunner.run ( ChainingBuildActionRunner.java:35 ) at org.gradle.launcher.exec.BuildOutcomeReportingBuildActionRunner.run ( BuildOutcomeReportingBuildActionRunner.java:63 ) at org.gradle.tooling.internal.provider.ValidatingBuildActionRunner.run ( ValidatingBuildActionRunner.java:32 ) at org.gradle.tooling.internal.provider.FileSystemWatchingBuildActionRunner.run ( FileSystemWatchingBuildActionRunner.java:77 ) at org.gradle.launcher.exec.BuildCompletionNotifyingBuildActionRunner.run ( BuildCompletionNotifyingBuildActionRunner.java:41 ) at org.gradle.launcher.exec.RunAsBuildOperationBuildActionRunner$3.call( RunAsBuildOperationBuildActionRunner.java:49 ) at org.gradle.launcher.exec.RunAsBuildOperationBuildActionRunner$3.call( RunAsBuildOperationBuildActionRunner.java:44 ) at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute( DefaultBuildOperationRunner.java:200 ) at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute( DefaultBuildOperationRunner.java:195 ) at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute( DefaultBuildOperationRunner.java:75 ) at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute( DefaultBuildOperationRunner.java:68 ) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute( DefaultBuildOperationRunner.java:153 ) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute( DefaultBuildOperationRunner.java:68 ) at org.gradle.internal.operations.DefaultBuildOperationRunner.call ( DefaultBuildOperationRunner.java:62 ) at org.gradle.internal.operations.DefaultBuildOperationExecutor.lambda$call$2( DefaultBuildOperationExecutor.java:76 ) at org.gradle.internal.operations.UnmanagedBuildOperationWrapper.callWithUnmanagedSupport( UnmanagedBuildOperationWrapper.java:54 ) at org.gradle.internal.operations.DefaultBuildOperationExecutor.call ( DefaultBuildOperationExecutor.java:76 ) at org.gradle.launcher.exec.RunAsBuildOperationBuildActionRunner.run ( RunAsBuildOperationBuildActionRunner.java:44 ) at org.gradle.launcher.exec.InProcessBuildActionExecuter.lambda$execute$0( InProcessBuildActionExecuter.java:59 ) at org.gradle.composite.internal.DefaultRootBuildState.run ( DefaultRootBuildState.java:86 ) at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute( InProcessBuildActionExecuter.java:58 ) at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute( InProcessBuildActionExecuter.java:30 ) at org.gradle.launcher.exec.BuildTreeScopeLifecycleBuildActionExecuter.lambda$execute$0( BuildTreeScopeLifecycleBuildActionExecuter.java:33 ) at org.gradle.internal.buildtree.BuildTreeState.run ( BuildTreeState.java:53 ) at org.gradle.launcher.exec.BuildTreeScopeLifecycleBuildActionExecuter.execute( BuildTreeScopeLifecycleBuildActionExecuter.java:32 ) at org.gradle.launcher.exec.BuildTreeScopeLifecycleBuildActionExecuter.execute( BuildTreeScopeLifecycleBuildActionExecuter.java:27 ) at org.gradle.tooling.internal.provider.ContinuousBuildActionExecuter.execute( ContinuousBuildActionExecuter.java:104 ) at org.gradle.tooling.internal.provider.ContinuousBuildActionExecuter.execute( ContinuousBuildActionExecuter.java:55 ) at org.gradle.tooling.internal.provider.SubscribableBuildActionExecuter.execute( SubscribableBuildActionExecuter.java:64 ) at org.gradle.tooling.internal.provider.SubscribableBuildActionExecuter.execute( SubscribableBuildActionExecuter.java:37 ) at org.gradle.tooling.internal.provider.SessionScopeLifecycleBuildActionExecuter.lambda$execute$0( SessionScopeLifecycleBuildActionExecuter.java:54 ) at org.gradle.internal.session.BuildSessionState.run ( BuildSessionState.java:67 ) at org.gradle.tooling.internal.provider.SessionScopeLifecycleBuildActionExecuter.execute( SessionScopeLifecycleBuildActionExecuter.java:50 ) at org.gradle.tooling.internal.provider.SessionScopeLifecycleBuildActionExecuter.execute( SessionScopeLifecycleBuildActionExecuter.java:36 ) at org.gradle.tooling.internal.provider.GradleThreadBuildActionExecuter.execute( GradleThreadBuildActionExecuter.java:36 ) at org.gradle.tooling.internal.provider.GradleThreadBuildActionExecuter.execute( GradleThreadBuildActionExecuter.java:25 ) at org.gradle.tooling.internal.provider.StartParamsValidatingActionExecuter.execute( StartParamsValidatingActionExecuter.java:59 ) at org.gradle.tooling.internal.provider.StartParamsValidatingActionExecuter.execute( StartParamsValidatingActionExecuter.java:31 ) at org.gradle.tooling.internal.provider.SessionFailureReportingActionExecuter.execute( SessionFailureReportingActionExecuter.java:55 ) at org.gradle.tooling.internal.provider.SessionFailureReportingActionExecuter.execute( SessionFailureReportingActionExecuter.java:41 ) at org.gradle.tooling.internal.provider.SetupLoggingActionExecuter.execute( SetupLoggingActionExecuter.java:47 ) at org.gradle.tooling.internal.provider.SetupLoggingActionExecuter.execute( SetupLoggingActionExecuter.java:31 ) at org.gradle.launcher.daemon.server.exec.ExecuteBuild.doBuild( ExecuteBuild.java:65 ) at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute( BuildCommandOnly.java:37 ) at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed( DaemonCommandExecution.java:104 ) at org.gradle.launcher.daemon.server.exec.WatchForDisconnection.execute( WatchForDisconnection.java:39 ) at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed( DaemonCommandExecution.java:104 ) at org.gradle.launcher.daemon.server.exec.ResetDeprecationLogger.execute( ResetDeprecationLogger.java:29 ) at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed( DaemonCommandExecution.java:104 ) at org.gradle.launcher.daemon.server.exec.RequestStopIfSingleUsedDaemon.execute( RequestStopIfSingleUsedDaemon.java:35 ) at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed( DaemonCommandExecution.java:104 ) at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.create( ForwardClientInput.java:78 ) at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.create( ForwardClientInput.java:75 ) at org.gradle.util.Swapper.swap( Swapper.java:38 ) at org.gradle.launcher.daemon.server.exec.ForwardClientInput.execute( ForwardClientInput.java:75 ) at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed( DaemonCommandExecution.java:104 ) at org.gradle.launcher.daemon.server.exec.LogAndCheckHealth.execute( LogAndCheckHealth.java:55 ) at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed( DaemonCommandExecution.java:104 ) at org.gradle.launcher.daemon.server.exec.LogToClient.doBuild( LogToClient.java:63 ) at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute( BuildCommandOnly.java:37 ) at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed( DaemonCommandExecution.java:104 ) at org.gradle.launcher.daemon.server.exec.EstablishBuildEnvironment.doBuild( EstablishBuildEnvironment.java:84 ) at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute( BuildCommandOnly.java:37 ) at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed( DaemonCommandExecution.java:104 ) at org.gradle.launcher.daemon.server.exec.StartBuildOrRespondWithBusy$1.run( StartBuildOrRespondWithBusy.java:52 ) at org.gradle.launcher.daemon.server.DaemonStateCoordinator$1.run( DaemonStateCoordinator.java:297 ) at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute( ExecutorPolicy.java:64 ) at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run( ManagedExecutorImpl.java:48 ) at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run( ThreadFactoryImpl.java:56 ) Cause 1: org.gradle.internal.resolve.ModuleVersionResolveException: Could not resolve org.springframework.boot:spring-boot-buildpack-platform:2.4.8. Required by: project : > org.springframework.boot:org.springframework.boot.gradle.plugin:2.4.8 > org.springframework.boot:spring-boot-gradle-plugin:2.4.8 Caused by: org.gradle.internal.resolve.ModuleVersionResolveException: Could not resolve org.springframework.boot:spring-boot-buildpack-platform:2.4.8. Caused by: org.gradle.api.resources.ResourceException: Could not get resource ' https://plugins.gradle.org/m2/org/springframework/boot/spring-boot-buildpack-platform/2.4.8/spring-boot-buildpack-platform-2.4.8.pom '. at org.gradle.internal.resource.ResourceExceptions.failure( ResourceExceptions.java:74 ) at org.gradle.internal.resource.ResourceExceptions.getFailed( ResourceExceptions.java:57 ) at org.gradle.internal.resource.transfer.DefaultCacheAwareExternalResourceAccessor.copyToCache( DefaultCacheAwareExternalResourceAccessor.java:201 ) at org.gradle.internal.resource.transfer.DefaultCacheAwareExternalResourceAccessor.lambda$getResource$1( DefaultCacheAwareExternalResourceAccessor.java:89 ) at org.gradle.cache.internal.ProducerGuard$AdaptiveProducerGuard.guardByKey( ProducerGuard.java:97 ) at org.gradle.internal.resource.transfer.DefaultCacheAwareExternalResourceAccessor.getResource( DefaultCacheAwareExternalResourceAccessor.java:83 ) at org.gradle.api.internal.artifacts.repositories.resolver.DefaultExternalResourceArtifactResolver.downloadByCoords( DefaultExternalResourceArtifactResolver.java:139 ) at org.gradle.api.internal.artifacts.repositories.resolver.DefaultExternalResourceArtifactResolver.downloadStaticResource( DefaultExternalResourceArtifactResolver.java:94 ) at org.gradle.api.internal.artifacts.repositories.resolver.DefaultExternalResourceArtifactResolver.resolveArtifact( DefaultExternalResourceArtifactResolver.java:60 ) at org.gradle.api.internal.artifacts.repositories.metadata.AbstractRepositoryMetadataSource.parseMetaDataFromArtifact( AbstractRepositoryMetadataSource.java:78 ) at org.gradle.api.internal.artifacts.repositories.metadata.AbstractRepositoryMetadataSource.create( AbstractRepositoryMetadataSource.java:68 ) at org.gradle.api.internal.artifacts.repositories.metadata.DefaultMavenPomMetadataSource.create( DefaultMavenPomMetadataSource.java:40 ) at org.gradle.api.internal.artifacts.repositories.metadata.RedirectingGradleMetadataModuleMetadataSource.create( RedirectingGradleMetadataModuleMetadataSource.java:51 ) at org.gradle.api.internal.artifacts.repositories.resolver.ExternalResourceResolver.resolveStaticDependency( ExternalResourceResolver.java:245 ) at org.gradle.api.internal.artifacts.repositories.resolver.MavenResolver.doResolveComponentMetaData( MavenResolver.java:129 ) at org.gradle.api.internal.artifacts.repositories.resolver.ExternalResourceResolver$RemoteRepositoryAccess.resolveComponentMetaData( ExternalResourceResolver.java:466 ) at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.CachingModuleComponentRepository$ResolveAndCacheRepositoryAccess.resolveComponentMetaData( CachingModuleComponentRepository.java:394 ) at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.ErrorHandlingModuleComponentRepository$ErrorHandlingModuleComponentRepositoryAccess.lambda$resolveComponentMetaData$5( ErrorHandlingModuleComponentRepository.java:154 ) at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.ErrorHandlingModuleComponentRepository$ErrorHandlingModuleComponentRepositoryAccess.lambda$tryResolveAndMaybeBlacklist$18( ErrorHandlingModuleComponentRepository.java:223 ) at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.ErrorHandlingModuleComponentRepository$ErrorHandlingModuleComponentRepositoryAccess.tryResolveAndMaybeBlacklist( ErrorHandlingModuleComponentRepository.java:237 ) at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.ErrorHandlingModuleComponentRepository$ErrorHandlingModuleComponentRepositoryAccess.tryResolveAndMaybeBlacklist( ErrorHandlingModuleComponentRepository.java:222 ) at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.ErrorHandlingModuleComponentRepository$ErrorHandlingModuleComponentRepositoryAccess.performOperationWithRetries( ErrorHandlingModuleComponentRepository.java:215 ) at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.ErrorHandlingModuleComponentRepository$ErrorHandlingModuleComponentRepositoryAccess.resolveComponentMetaData( ErrorHandlingModuleComponentRepository.java:153 ) at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.ComponentMetaDataResolveState.process( ComponentMetaDataResolveState.java:69 ) at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.ComponentMetaDataResolveState.resolve( ComponentMetaDataResolveState.java:61 ) at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.RepositoryChainComponentMetaDataResolver.findBestMatch( RepositoryChainComponentMetaDataResolver.java:138 ) at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.RepositoryChainComponentMetaDataResolver.findBestMatch( RepositoryChainComponentMetaDataResolver.java:119 ) at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.RepositoryChainComponentMetaDataResolver.resolveModule( RepositoryChainComponentMetaDataResolver.java:93 ) at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.RepositoryChainComponentMetaDataResolver.resolve( RepositoryChainComponentMetaDataResolver.java:64 ) at org.gradle.api.internal.artifacts.ivyservice.resolveengine.ComponentResolversChain$ComponentMetaDataResolverChain.resolve( ComponentResolversChain.java:101 ) at org.gradle.api.internal.artifacts.ivyservice.clientmodule.ClientModuleResolver.resolve( ClientModuleResolver.java:66 ) at org.gradle.api.internal.artifacts.ivyservice.resolveengine.graph.builder.ComponentState.resolve( ComponentState.java:197 ) at org.gradle.api.internal.artifacts.ivyservice.resolveengine.graph.builder.ComponentState.getMetadata( ComponentState.java:144 ) at org.gradle.api.internal.artifacts.ivyservice.resolveengine.graph.builder.DownloadMetadataOperation.run ( DownloadMetadataOperation.java:31 ) at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute( DefaultBuildOperationRunner.java:75 ) at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute( DefaultBuildOperationRunner.java:68 ) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute( DefaultBuildOperationRunner.java:153 ) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute( DefaultBuildOperationRunner.java:68 ) at org.gradle.internal.operations.DefaultBuildOperationExecutor$QueueWorker.execute( DefaultBuildOperationExecutor.java:199 ) at org.gradle.internal.operations.DefaultBuildOperationQueue$WorkerRunnable.runOperation( DefaultBuildOperationQueue.java:241 ) at org.gradle.internal.operations.DefaultBuildOperationQueue$WorkerRunnable.doRunBatch( DefaultBuildOperationQueue.java:222 ) at org.gradle.internal.operations.DefaultBuildOperationQueue$WorkerRunnable.lambda$runBatch$0( DefaultBuildOperationQueue.java:212 ) at org.gradle.internal.resources.AbstractResourceLockRegistry.whileDisallowingLockChanges( AbstractResourceLockRegistry.java:70 ) at org.gradle.internal.work .DefaultWorkerLeaseService.whileDisallowingProjectLockChanges( DefaultWorkerLeaseService.java:185 ) at org.gradle.internal.operations.DefaultBuildOperationQueue$WorkerRunnable.lambda$runBatch$1( DefaultBuildOperationQueue.java:212 ) at org.gradle.internal.work .DefaultWorkerLeaseService.withLocks( DefaultWorkerLeaseService.java:213 ) at org.gradle.internal.operations.DefaultBuildOperationQueue$WorkerRunnable.runBatch( DefaultBuildOperationQueue.java:200 ) at org.gradle.internal.operations.DefaultBuildOperationQueue$WorkerRunnable.run( DefaultBuildOperationQueue.java:172 ) at org.gradle.internal.operations.DefaultBuildOperationQueue.waitForCompletion( DefaultBuildOperationQueue.java:118 ) at org.gradle.internal.operations.DefaultBuildOperationExecutor.executeInParallel( DefaultBuildOperationExecutor.java:130 ) at org.gradle.internal.operations.DefaultBuildOperationExecutor.lambda$runAll$4( DefaultBuildOperationExecutor.java:100 ) at org.gradle.internal.operations.UnmanagedBuildOperationWrapper.runWithUnmanagedSupport( UnmanagedBuildOperationWrapper.java:45 ) at org.gradle.internal.operations.DefaultBuildOperationExecutor.runAll( DefaultBuildOperationExecutor.java:100 ) at org.gradle.api.internal.artifacts.ivyservice.resolveengine.graph.builder.DependencyGraphBuilder.maybeDownloadMetadataInParallel( DependencyGraphBuilder.java:352 ) at org.gradle.api.internal.artifacts.ivyservice.resolveengine.graph.builder.DependencyGraphBuilder.resolveEdges( DependencyGraphBuilder.java:259 ) at org.gradle.api.internal.artifacts.ivyservice.resolveengine.graph.builder.DependencyGraphBuilder.traverseGraph( DependencyGraphBuilder.java:197 ) at org.gradle.api.internal.artifacts.ivyservice.resolveengine.graph.builder.DependencyGraphBuilder.resolve( DependencyGraphBuilder.java:148 ) at org.gradle.api.internal.artifacts.ivyservice.resolveengine.DefaultArtifactDependencyResolver.resolve( DefaultArtifactDependencyResolver.java:145 ) at org.gradle.api.internal.artifacts.ivyservice.DefaultConfigurationResolver.resolveGraph( DefaultConfigurationResolver.java:178 ) at org.gradle.api.internal.artifacts.ivyservice.ShortCircuitEmptyConfigurationResolver.resolveGraph( ShortCircuitEmptyConfigurationResolver.java:85 ) at org.gradle.api.internal.artifacts.ivyservice.ErrorHandlingConfigurationResolver.resolveGraph( ErrorHandlingConfigurationResolver.java:75 ) at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration$1.call( DefaultConfiguration.java:643 ) at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration$1.call( DefaultConfiguration.java:634 ) at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute( DefaultBuildOperationRunner.java:200 ) at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute( DefaultBuildOperationRunner.java:195 ) at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute( DefaultBuildOperationRunner.java:75 ) at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute( DefaultBuildOperationRunner.java:68 ) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute( DefaultBuildOperationRunner.java:153 ) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute( DefaultBuildOperationRunner.java:68 ) at org.gradle.internal.operations.DefaultBuildOperationRunner.call ( DefaultBuildOperationRunner.java:62 ) at org.gradle.internal.operations.DefaultBuildOperationExecutor.lambda$call$2( DefaultBuildOperationExecutor.java:76 ) at org.gradle.internal.operations.UnmanagedBuildOperationWrapper.callWithUnmanagedSupport( UnmanagedBuildOperationWrapper.java:54 ) at org.gradle.internal.operations.DefaultBuildOperationExecutor.call ( DefaultBuildOperationExecutor.java:76 ) at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration.resolveGraphIfRequired( DefaultConfiguration.java:634 ) at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration.lambda$resolveExclusively$4( DefaultConfiguration.java:614 ) at org.gradle.api.internal.project.DefaultProjectStateRegistry$CalculatedModelValueImpl.update( DefaultProjectStateRegistry.java:362 ) at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration.resolveExclusively( DefaultConfiguration.java:611 ) at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration.resolveToStateOrLater( DefaultConfiguration.java:598 ) at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration.access$1900( DefaultConfiguration.java:149 ) at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration$SelectedArtifactsProvider.getValue( DefaultConfiguration.java:1328 ) at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration$SelectedArtifactsProvider.getValue( DefaultConfiguration.java:1318 ) at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration$ConfigurationFileCollection.getSelectedArtifacts( DefaultConfiguration.java:1390 ) at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration$ConfigurationFileCollection.access$3500( DefaultConfiguration.java:1333 ) at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration$ConfigurationArtifactCollection.lambda$new$0( DefaultConfiguration.java:1949 ) at org.gradle.internal.model.CalculatedValueContainerFactory$SupplierBackedCalculator.calculateValue( CalculatedValueContainerFactory.java:78 ) at org.gradle.internal.model.CalculatedValueContainer$CalculationState.lambda$attachValue$0( CalculatedValueContainer.java:216 ) at org.gradle.internal.Try.ofFailable( Try.java:39 ) at org.gradle.internal.model.CalculatedValueContainer$CalculationState.attachValue( CalculatedValueContainer.java:211 ) at org.gradle.internal.model.CalculatedValueContainer.finalizeIfNotAlready( CalculatedValueContainer.java:184 ) at org.gradle.internal.model.CalculatedValueContainer.finalizeIfNotAlready( CalculatedValueContainer.java:175 ) at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration$ConfigurationArtifactCollection.ensureResolved( DefaultConfiguration.java:1991 ) at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration$ConfigurationArtifactCollection.getArtifacts( DefaultConfiguration.java:1968 ) at org.gradle.composite.internal.CompositeBuildClassPathInitializer.execute( CompositeBuildClassPathInitializer.java:45 ) at org.gradle.composite.internal.CompositeBuildClassPathInitializer.execute( CompositeBuildClassPathInitializer.java:32 ) at org.gradle.api.internal.initialization.DefaultScriptClassPathResolver.resolveClassPath( DefaultScriptClassPathResolver.java:40 ) at org.gradle.api.internal.initialization.DefaultScriptHandler.getScriptClassPath( DefaultScriptHandler.java:88 ) at org.gradle.plugin.use.internal.DefaultPluginRequestApplicator.defineScriptHandlerClassScope( DefaultPluginRequestApplicator.java:155 ) at org.gradle.plugin.use.internal.DefaultPluginRequestApplicator.applyPlugins( DefaultPluginRequestApplicator.java:119 ) at org.gradle.configuration.DefaultScriptPluginFactory$ScriptPluginImpl.apply( DefaultScriptPluginFactory.java:117 ) at org.gradle.configuration.BuildOperationScriptPlugin$1.run( BuildOperationScriptPlugin.java:65 ) at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute( DefaultBuildOperationRunner.java:29 ) at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute( DefaultBuildOperationRunner.java:26 ) at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute( DefaultBuildOperationRunner.java:75 ) at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute( DefaultBuildOperationRunner.java:68 ) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute( DefaultBuildOperationRunner.java:153 ) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute( DefaultBuildOperationRunner.java:68 ) at org.gradle.internal.operations.DefaultBuildOperationRunner.run ( DefaultBuildOperationRunner.java:56 ) at org.gradle.internal.operations.DefaultBuildOperationExecutor.lambda$run$1( DefaultBuildOperationExecutor.java:71 ) at org.gradle.internal.operations.UnmanagedBuildOperationWrapper.runWithUnmanagedSupport( UnmanagedBuildOperationWrapper.java:45 ) at org.gradle.internal.operations.DefaultBuildOperationExecutor.run ( DefaultBuildOperationExecutor.java:71 ) at org.gradle.configuration.BuildOperationScriptPlugin.lambda$apply$0( BuildOperationScriptPlugin.java:62 ) at org.gradle.configuration.internal.DefaultUserCodeApplicationContext.apply( DefaultUserCodeApplicationContext.java:43 ) at org.gradle.configuration.BuildOperationScriptPlugin.apply( BuildOperationScriptPlugin.java:62 ) at org.gradle.api.internal.project.DefaultProjectStateRegistry$ProjectStateImpl.lambda$applyToMutableState$0( DefaultProjectStateRegistry.java:250 ) at org.gradle.api.internal.project.DefaultProjectStateRegistry$ProjectStateImpl.fromMutableState( DefaultProjectStateRegistry.java:277 ) at org.gradle.api.internal.project.DefaultProjectStateRegistry$ProjectStateImpl.applyToMutableState( DefaultProjectStateRegistry.java:249 ) at org.gradle.configuration.project.BuildScriptProcessor.execute( BuildScriptProcessor.java:42 ) at org.gradle.configuration.project.BuildScriptProcessor.execute( BuildScriptProcessor.java:26 ) at org.gradle.configuration.project.ConfigureActionsProjectEvaluator.evaluate( ConfigureActionsProjectEvaluator.java:35 ) at org.gradle.configuration.project.LifecycleProjectEvaluator$EvaluateProject.lambda$run$0( LifecycleProjectEvaluator.java:100 ) at org.gradle.api.internal.project.DefaultProjectStateRegistry$ProjectStateImpl.lambda$applyToMutableState$0( DefaultProjectStateRegistry.java:250 ) at org.gradle.api.internal.project.DefaultProjectStateRegistry$ProjectStateImpl.lambda$withProjectLock$3( DefaultProjectStateRegistry.java:310 ) at org.gradle.internal.work .DefaultWorkerLeaseService.withLocks( DefaultWorkerLeaseService.java:213 ) at org.gradle.api.internal.project.DefaultProjectStateRegistry$ProjectStateImpl.withProjectLock( DefaultProjectStateRegistry.java:310 ) at org.gradle.api.internal.project.DefaultProjectStateRegistry$ProjectStateImpl.fromMutableState( DefaultProjectStateRegistry.java:291 ) at org.gradle.api.internal.project.DefaultProjectStateRegistry$ProjectStateImpl.applyToMutableState( DefaultProjectStateRegistry.java:249 ) at org.gradle.configuration.project.LifecycleProjectEvaluator$EvaluateProject.run( LifecycleProjectEvaluator.java:91 ) at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute( DefaultBuildOperationRunner.java:29 ) at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute( DefaultBuildOperationRunner.java:26 ) at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute( DefaultBuildOperationRunner.java:75 ) at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute( DefaultBuildOperationRunner.java:68 ) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute( DefaultBuildOperationRunner.java:153 ) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute( DefaultBuildOperationRunner.java:68 ) at org.gradle.internal.operations.DefaultBuildOperationRunner.run ( DefaultBuildOperationRunner.java:56 ) at org.gradle.internal.operations.DefaultBuildOperationExecutor.lambda$run$1( DefaultBuildOperationExecutor.java:71 ) at org.gradle.internal.operations.UnmanagedBuildOperationWrapper.runWithUnmanagedSupport( UnmanagedBuildOperationWrapper.java:45 ) at org.gradle.internal.operations.DefaultBuildOperationExecutor.run ( DefaultBuildOperationExecutor.java:71 ) at org.gradle.configuration.project.LifecycleProjectEvaluator.evaluate( LifecycleProjectEvaluator.java:63 ) at org.gradle.api.internal.project.DefaultProject.evaluate( DefaultProject.java:721 ) at org.gradle.api.internal.project.DefaultProject.evaluate( DefaultProject.java:151 ) at org.gradle.execution.TaskPathProjectEvaluator.configure( TaskPathProjectEvaluator.java:41 ) at org.gradle.execution.TaskPathProjectEvaluator.configureHierarchy( TaskPathProjectEvaluator.java:67 ) at org.gradle.configuration.DefaultProjectsPreparer.prepareProjects( DefaultProjectsPreparer.java:46 ) at org.gradle.configuration.BuildTreePreparingProjectsPreparer.prepareProjects( BuildTreePreparingProjectsPreparer.java:57 ) at org.gradle.configuration.BuildOperationFiringProjectsPreparer$ConfigureBuild.run( BuildOperationFiringProjectsPreparer.java:52 ) at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute( DefaultBuildOperationRunner.java:29 ) at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute( DefaultBuildOperationRunner.java:26 ) at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute( DefaultBuildOperationRunner.java:75 ) at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute( DefaultBuildOperationRunner.java:68 ) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute( DefaultBuildOperationRunner.java:153 ) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute( DefaultBuildOperationRunner.java:68 ) at org.gradle.internal.operations.DefaultBuildOperationRunner.run ( DefaultBuildOperationRunner.java:56 ) at org.gradle.internal.operations.DefaultBuildOperationExecutor.lambda$run$1( DefaultBuildOperationExecutor.java:71 ) at org.gradle.internal.operations.UnmanagedBuildOperationWrapper.runWithUnmanagedSupport( UnmanagedBuildOperationWrapper.java:45 ) at org.gradle.internal.operations.DefaultBuildOperationExecutor.run ( DefaultBuildOperationExecutor.java:71 ) at org.gradle.configuration.BuildOperationFiringProjectsPreparer.prepareProjects( BuildOperationFiringProjectsPreparer.java:40 ) at org.gradle.initialization.DefaultGradleLauncher.prepareProjects( DefaultGradleLauncher.java:226 ) at org.gradle.initialization.DefaultGradleLauncher.doClassicBuildStages( DefaultGradleLauncher.java:163 ) at org.gradle.initialization.DefaultGradleLauncher.doBuildStages( DefaultGradleLauncher.java:148 ) at org.gradle.initialization.DefaultGradleLauncher.executeTasks( DefaultGradleLauncher.java:124 ) at org.gradle.internal.invocation.GradleBuildController$1.create( GradleBuildController.java:72 ) at org.gradle.internal.invocation.GradleBuildController$1.create( GradleBuildController.java:67 ) at org.gradle.internal.work .DefaultWorkerLeaseService.withLocks( DefaultWorkerLeaseService.java:213 ) at org.gradle.internal.invocation.GradleBuildController.doBuild( GradleBuildController.java:67 ) at org.gradle.internal.invocation.GradleBuildController.run ( GradleBuildController.java:56 ) at org.gradle.tooling.internal.provider.runner.AbstractClientProvidedBuildActionRunner.runClientAction( AbstractClientProvidedBuildActionRunner.java:53 ) at org.gradle.tooling.internal.provider.runner.ClientProvidedPhasedActionRunner.run ( ClientProvidedPhasedActionRunner.java:47 ) at org.gradle.launcher.exec.ChainingBuildActionRunner.run ( ChainingBuildActionRunner.java:35 ) at org.gradle.launcher.exec.ChainingBuildActionRunner.run ( ChainingBuildActionRunner.java:35 ) at org.gradle.launcher.exec.BuildOutcomeReportingBuildActionRunner.run ( BuildOutcomeReportingBuildActionRunner.java:63 ) at org.gradle.tooling.internal.provider.ValidatingBuildActionRunner.run ( ValidatingBuildActionRunner.java:32 ) at org.gradle.tooling.internal.provider.FileSystemWatchingBuildActionRunner.run ( FileSystemWatchingBuildActionRunner.java:77 ) at org.gradle.launcher.exec.BuildCompletionNotifyingBuildActionRunner.run ( BuildCompletionNotifyingBuildActionRunner.java:41 ) at org.gradle.launcher.exec.RunAsBuildOperationBuildActionRunner$3.call( RunAsBuildOperationBuildActionRunner.java:49 ) at org.gradle.launcher.exec.RunAsBuildOperationBuildActionRunner$3.call( RunAsBuildOperationBuildActionRunner.java:44 ) at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute( DefaultBuildOperationRunner.java:200 ) at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute( DefaultBuildOperationRunner.java:195 ) at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute( DefaultBuildOperationRunner.java:75 ) at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute( DefaultBuildOperationRunner.java:68 ) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute( DefaultBuildOperationRunner.java:153 ) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute( DefaultBuildOperationRunner.java:68 ) at org.gradle.internal.operations.DefaultBuildOperationRunner.call ( DefaultBuildOperationRunner.java:62 ) at org.gradle.internal.operations.DefaultBuildOperationExecutor.lambda$call$2( DefaultBuildOperationExecutor.java:76 ) at org.gradle.internal.operations.UnmanagedBuildOperationWrapper.callWithUnmanagedSupport( UnmanagedBuildOperationWrapper.java:54 ) at org.gradle.internal.operations.DefaultBuildOperationExecutor.call ( DefaultBuildOperationExecutor.java:76 ) at org.gradle.launcher.exec.RunAsBuildOperationBuildActionRunner.run ( RunAsBuildOperationBuildActionRunner.java:44 ) at org.gradle.launcher.exec.InProcessBuildActionExecuter.lambda$execute$0( InProcessBuildActionExecuter.java:59 ) at org.gradle.composite.internal.DefaultRootBuildState.run ( DefaultRootBuildState.java:86 ) at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute( InProcessBuildActionExecuter.java:58 ) at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute( InProcessBuildActionExecuter.java:30 ) at org.gradle.launcher.exec.BuildTreeScopeLifecycleBuildActionExecuter.lambda$execute$0( BuildTreeScopeLifecycleBuildActionExecuter.java:33 ) at org.gradle.internal.buildtree.BuildTreeState.run ( BuildTreeState.java:53 ) at org.gradle.launcher.exec.BuildTreeScopeLifecycleBuildActionExecuter.execute( BuildTreeScopeLifecycleBuildActionExecuter.java:32 ) at org.gradle.launcher.exec.BuildTreeScopeLifecycleBuildActionExecuter.execute( BuildTreeScopeLifecycleBuildActionExecuter.java:27 ) at org.gradle.tooling.internal.provider.ContinuousBuildActionExecuter.execute( ContinuousBuildActionExecuter.java:104 ) at org.gradle.tooling.internal.provider.ContinuousBuildActionExecuter.execute( ContinuousBuildActionExecuter.java:55 ) at org.gradle.tooling.internal.provider.SubscribableBuildActionExecuter.execute( SubscribableBuildActionExecuter.java:64 ) at org.gradle.tooling.internal.provider.SubscribableBuildActionExecuter.execute( SubscribableBuildActionExecuter.java:37 ) at org.gradle.tooling.internal.provider.SessionScopeLifecycleBuildActionExecuter.lambda$execute$0( SessionScopeLifecycleBuildActionExecuter.java:54 ) at org.gradle.internal.session.BuildSessionState.run ( BuildSessionState.java:67 ) at org.gradle.tooling.internal.provider.SessionScopeLifecycleBuildActionExecuter.execute( SessionScopeLifecycleBuildActionExecuter.java:50 ) at org.gradle.tooling.internal.provider.SessionScopeLifecycleBuildActionExecuter.execute( SessionScopeLifecycleBuildActionExecuter.java:36 ) at org.gradle.tooling.internal.provider.GradleThreadBuildActionExecuter.execute( GradleThreadBuildActionExecuter.java:36 ) at org.gradle.tooling.internal.provider.GradleThreadBuildActionExecuter.execute( GradleThreadBuildActionExecuter.java:25 ) at org.gradle.tooling.internal.provider.StartParamsValidatingActionExecuter.execute( StartParamsValidatingActionExecuter.java:59 ) at org.gradle.tooling.internal.provider.StartParamsValidatingActionExecuter.execute( StartParamsValidatingActionExecuter.java:31 ) at org.gradle.tooling.internal.provider.SessionFailureReportingActionExecuter.execute( SessionFailureReportingActionExecuter.java:55 ) at org.gradle.tooling.internal.provider.SessionFailureReportingActionExecuter.execute( SessionFailureReportingActionExecuter.java:41 ) at org.gradle.tooling.internal.provider.SetupLoggingActionExecuter.execute( SetupLoggingActionExecuter.java:47 ) at org.gradle.tooling.internal.provider.SetupLoggingActionExecuter.execute( SetupLoggingActionExecuter.java:31 ) at org.gradle.launcher.daemon.server.exec.ExecuteBuild.doBuild( ExecuteBuild.java:65 ) at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute( BuildCommandOnly.java:37 ) at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed( DaemonCommandExecution.java:104 ) at org.gradle.launcher.daemon.server.exec.WatchForDisconnection.execute( WatchForDisconnection.java:39 ) at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed( DaemonCommandExecution.java:104 ) at org.gradle.launcher.daemon.server.exec.ResetDeprecationLogger.execute( ResetDeprecationLogger.java:29 ) at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed( DaemonCommandExecution.java:104 ) at org.gradle.launcher.daemon.server.exec.RequestStopIfSingleUsedDaemon.execute( RequestStopIfSingleUsedDaemon.java:35 ) at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed( DaemonCommandExecution.java:104 ) at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.create( ForwardClientInput.java:78 ) at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.create( ForwardClientInput.java:75 ) at org.gradle.util.Swapper.swap( Swapper.java:38 ) at org.gradle.launcher.daemon.server.exec.ForwardClientInput.execute( ForwardClientInput.java:75 ) at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed( DaemonCommandExecution.java:104 ) at org.gradle.launcher.daemon.server.exec.LogAndCheckHealth.execute( LogAndCheckHealth.java:55 ) at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed( DaemonCommandExecution.java:104 ) at org.gradle.launcher.daemon.server.exec.LogToClient.doBuild( LogToClient.java:63 ) at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute( BuildCommandOnly.java:37 ) at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed( DaemonCommandExecution.java:104 ) at org.gradle.launcher.daemon.server.exec.EstablishBuildEnvironment.doBuild( EstablishBuildEnvironment.java:84 ) at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute( BuildCommandOnly.java:37 ) at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed( DaemonCommandExecution.java:104 ) at org.gradle.launcher.daemon.server.exec.StartBuildOrRespondWithBusy$1.run( StartBuildOrRespondWithBusy.java:52 ) at org.gradle.launcher.daemon.server.DaemonStateCoordinator$1.run( DaemonStateCoordinator.java:297 ) at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute( ExecutorPolicy.java:64 ) at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run( ManagedExecutorImpl.java:48 ) at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run( ThreadFactoryImpl.java:56 ) Caused by: org.gradle.internal.resource.transport.http.HttpRequestException: Could not GET ' https://jcenter.bintray.com/org/springframework/boot/spring-boot-buildpack-platform/2.4.8/spring-boot-buildpack-platform-2.4.8.pom '. at org.gradle.internal.resource.transport.http.HttpClientHelper.performRequest( HttpClientHelper.java:107 ) at org.gradle.internal.resource.transport.http.HttpClientHelper.performRawGet( HttpClientHelper.java:92 ) at org.gradle.internal.resource.transport.http.HttpClientHelper.performGet( HttpClientHelper.java:96 ) at org.gradle.internal.resource.transport.http.HttpResourceAccessor.openResource( HttpResourceAccessor.java:43 ) at org.gradle.internal.resource.transport.http.HttpResourceAccessor.openResource( HttpResourceAccessor.java:28 ) at org.gradle.internal.resource.transfer.DefaultExternalResourceConnector.openResource( DefaultExternalResourceConnector.java:56 ) at org.gradle.internal.resource.transfer.ProgressLoggingExternalResourceAccessor.openResource( ProgressLoggingExternalResourceAccessor.java:38 ) at org.gradle.internal.resource.transfer.AccessorBackedExternalResource.withContentIfPresent( AccessorBackedExternalResource.java:130 ) at org.gradle.internal.resource.BuildOperationFiringExternalResourceDecorator$11.call( BuildOperationFiringExternalResourceDecorator.java:237 ) at org.gradle.internal.resource.BuildOperationFiringExternalResourceDecorator$11.call( BuildOperationFiringExternalResourceDecorator.java:229 ) at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute( DefaultBuildOperationRunner.java:200 ) at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute( DefaultBuildOperationRunner.java:195 ) at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute( DefaultBuildOperationRunner.java:75 ) at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute( DefaultBuildOperationRunner.java:68 ) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute( DefaultBuildOperationRunner.java:153 ) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute( DefaultBuildOperationRunner.java:68 ) at org.gradle.internal.operations.DefaultBuildOperationRunner.call ( DefaultBuildOperationRunner.java:62 ) at org.gradle.internal.operations.DefaultBuildOperationExecutor.lambda$call$2( DefaultBuildOperationExecutor.java:76 ) at org.gradle.internal.operations.UnmanagedBuildOperationWrapper.callWithUnmanagedSupport( UnmanagedBuildOperationWrapper.java:54 ) at org.gradle.internal.operations.DefaultBuildOperationExecutor.call ( DefaultBuildOperationExecutor.java:76 ) at org.gradle.internal.resource.BuildOperationFiringExternalResourceDecorator.withContentIfPresent( BuildOperationFiringExternalResourceDecorator.java:229 ) at org.gradle.internal.resource.transfer.DefaultCacheAwareExternalResourceAccessor.copyToCache( DefaultCacheAwareExternalResourceAccessor.java:199 ) ... 234 more Caused by: javax.net .ssl.SSLHandshakeException: PKIX path validation failed: java.security .cert.CertPathValidatorException: validity check failed at org.apache.http.conn.ssl.SSLConnectionSocketFactory.createLayeredSocket( SSLConnectionSocketFactory.java:436 ) at org.apache.http.conn.ssl.SSLConnectionSocketFactory.connectSocket( SSLConnectionSocketFactory.java:384 ) at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect( DefaultHttpClientConnectionOperator.java:142 ) at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect( PoolingHttpClientConnectionManager.java:376 ) at org.apache.http.impl.execchain.MainClientExec.establishRoute( MainClientExec.java:393 ) at org.apache.http.impl.execchain.MainClientExec.execute( MainClientExec.java:236 ) at org.apache.http.impl.execchain.ProtocolExec.execute( ProtocolExec.java:186 ) at org.apache.http.impl.execchain.RetryExec.execute( RetryExec.java:89 ) at org.apache.http.impl.execchain.RedirectExec.execute( RedirectExec.java:110 ) at org.apache.http.impl.client.InternalHttpClient.doExecute( InternalHttpClient.java:185 ) at org.apache.http.impl.client.CloseableHttpClient.execute( CloseableHttpClient.java:83 ) at org.gradle.internal.resource.transport.http.HttpClientHelper.performHttpRequest( HttpClientHelper.java:170 ) at org.gradle.internal.resource.transport.http.HttpClientHelper.performHttpRequest( HttpClientHelper.java:146 ) at org.gradle.internal.resource.transport.http.HttpClientHelper.executeGetOrHead( HttpClientHelper.java:135 ) at org.gradle.internal.resource.transport.http.HttpClientHelper.performRequest( HttpClientHelper.java:105 ) ... 255 more Caused by: sun.security .validator.ValidatorException: PKIX path validation failed: java.security .cert.CertPathValidatorException: validity check failed ... 270 more Caused by: java.security .cert.CertPathValidatorException: validity check failed ... 270 more Caused by: java.security .cert.CertificateExpiredException: NotAfter: Sat Nov 26 08:59:59 KST 2022 ... 270 more Cause 2: org.gradle.internal.resolve.ModuleVersionResolveException: Could not resolve org.springframework.boot:spring-boot-loader-tools:2.4.8. Required by: project : > org.springframework.boot:org.springframework.boot.gradle.plugin:2.4.8 > org.springframework.boot:spring-boot-gradle-plugin:2.4.8 Caused by: org.gradle.internal.resolve.ModuleVersionResolveException: Could not resolve org.springframework.boot:spring-boot-loader-tools:2.4.8. Caused by: org.gradle.api.resources.ResourceException: Could not get resource ' https://plugins.gradle.org/m2/org/springframework/boot/spring-boot-loader-tools/2.4.8/spring-boot-loader-tools-2.4.8.pom '. at org.gradle.internal.resource.ResourceExceptions.failure( ResourceExceptions.java:74 ) at org.gradle.internal.resource.ResourceExceptions.getFailed( ResourceExceptions.java:57 ) at org.gradle.internal.resource.transfer.DefaultCacheAwareExternalResourceAccessor.copyToCache( DefaultCacheAwareExternalResourceAccessor.java:201 ) at org.gradle.internal.resource.transfer.DefaultCacheAwareExternalResourceAccessor.lambda$getResource$1( DefaultCacheAwareExternalResourceAccessor.java:89 ) at org.gradle.cache.internal.ProducerGuard$AdaptiveProducerGuard.guardByKey( ProducerGuard.java:97 ) at org.gradle.internal.resource.transfer.DefaultCacheAwareExternalResourceAccessor.getResource( DefaultCacheAwareExternalResourceAccessor.java:83 ) at org.gradle.api.internal.artifacts.repositories.resolver.DefaultExternalResourceArtifactResolver.downloadByCoords( DefaultExternalResourceArtifactResolver.java:139 ) at org.gradle.api.internal.artifacts.repositories.resolver.DefaultExternalResourceArtifactResolver.downloadStaticResource( DefaultExternalResourceArtifactResolver.java:94 ) at org.gradle.api.internal.artifacts.repositories.resolver.DefaultExternalResourceArtifactResolver.resolveArtifact( DefaultExternalResourceArtifactResolver.java:60 ) at org.gradle.api.internal.artifacts.repositories.metadata.AbstractRepositoryMetadataSource.parseMetaDataFromArtifact( AbstractRepositoryMetadataSource.java:78 ) at org.gradle.api.internal.artifacts.repositories.metadata.AbstractRepositoryMetadataSource.create( AbstractRepositoryMetadataSource.java:68 ) at org.gradle.api.internal.artifacts.repositories.metadata.DefaultMavenPomMetadataSource.create( DefaultMavenPomMetadataSource.java:40 ) at org.gradle.api.internal.artifacts.repositories.metadata.RedirectingGradleMetadataModuleMetadataSource.create( RedirectingGradleMetadataModuleMetadataSource.java:51 ) at org.gradle.api.internal.artifacts.repositories.resolver.ExternalResourceResolver.resolveStaticDependency( ExternalResourceResolver.java:245 ) at org.gradle.api.internal.artifacts.repositories.resolver.MavenResolver.doResolveComponentMetaData( MavenResolver.java:129 ) at org.gradle.api.internal.artifacts.repositories.resolver.ExternalResourceResolver$RemoteRepositoryAccess.resolveComponentMetaData( ExternalResourceResolver.java:466 ) at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.CachingModuleComponentRepository$ResolveAndCacheRepositoryAccess.resolveComponentMetaData( CachingModuleComponentRepository.java:394 ) at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.ErrorHandlingModuleComponentRepository$ErrorHandlingModuleComponentRepositoryAccess.lambda$resolveComponentMetaData$5( ErrorHandlingModuleComponentRepository.java:154 ) at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.ErrorHandlingModuleComponentRepository$ErrorHandlingModuleComponentRepositoryAccess.lambda$tryResolveAndMaybeBlacklist$18( ErrorHandlingModuleComponentRepository.java:223 ) at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.ErrorHandlingModuleComponentRepository$ErrorHandlingModuleComponentRepositoryAccess.tryResolveAndMaybeBlacklist( ErrorHandlingModuleComponentRepository.java:237 ) at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.ErrorHandlingModuleComponentRepository$ErrorHandlingModuleComponentRepositoryAccess.tryResolveAndMaybeBlacklist( ErrorHandlingModuleComponentRepository.java:222 ) at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.ErrorHandlingModuleComponentRepository$ErrorHandlingModuleComponentRepositoryAccess.performOperationWithRetries( ErrorHandlingModuleComponentRepository.java:215 ) at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.ErrorHandlingModuleComponentRepository$ErrorHandlingModuleComponentRepositoryAccess.resolveComponentMetaData( ErrorHandlingModuleComponentRepository.java:153 ) at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.ComponentMetaDataResolveState.process( ComponentMetaDataResolveState.java:69 ) at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.ComponentMetaDataResolveState.resolve( ComponentMetaDataResolveState.java:61 ) at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.RepositoryChainComponentMetaDataResolver.findBestMatch( RepositoryChainComponentMetaDataResolver.java:138 ) at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.RepositoryChainComponentMetaDataResolver.findBestMatch( RepositoryChainComponentMetaDataResolver.java:119 ) at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.RepositoryChainComponentMetaDataResolver.resolveModule( RepositoryChainComponentMetaDataResolver.java:93 ) at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.RepositoryChainComponentMetaDataResolver.resolve( RepositoryChainComponentMetaDataResolver.java:64 ) at org.gradle.api.internal.artifacts.ivyservice.resolveengine.ComponentResolversChain$ComponentMetaDataResolverChain.resolve( ComponentResolversChain.java:101 ) at org.gradle.api.internal.artifacts.ivyservice.clientmodule.ClientModuleResolver.resolve( ClientModuleResolver.java:66 ) at org.gradle.api.internal.artifacts.ivyservice.resolveengine.graph.builder.ComponentState.resolve( ComponentState.java:197 ) at org.gradle.api.internal.artifacts.ivyservice.resolveengine.graph.builder.ComponentState.getMetadata( ComponentState.java:144 ) at org.gradle.api.internal.artifacts.ivyservice.resolveengine.graph.builder.DownloadMetadataOperation.run ( DownloadMetadataOperation.java:31 ) at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute( DefaultBuildOperationRunner.java:75 ) at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute( DefaultBuildOperationRunner.java:68 ) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute( DefaultBuildOperationRunner.java:153 ) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute( DefaultBuildOperationRunner.java:68 ) at org.gradle.internal.operations.DefaultBuildOperationExecutor$QueueWorker.execute( DefaultBuildOperationExecutor.java:199 ) at org.gradle.internal.operations.DefaultBuildOperationQueue$WorkerRunnable.runOperation( DefaultBuildOperationQueue.java:241 ) at org.gradle.internal.operations.DefaultBuildOperationQueue$WorkerRunnable.doRunBatch( DefaultBuildOperationQueue.java:222 ) at org.gradle.internal.operations.DefaultBuildOperationQueue$WorkerRunnable.lambda$runBatch$0( DefaultBuildOperationQueue.java:212 ) at org.gradle.internal.resources.AbstractResourceLockRegistry.whileDisallowingLockChanges( AbstractResourceLockRegistry.java:70 ) at org.gradle.internal.work .DefaultWorkerLeaseService.whileDisallowingProjectLockChanges( DefaultWorkerLeaseService.java:185 ) at org.gradle.internal.operations.DefaultBuildOperationQueue$WorkerRunnable.lambda$runBatch$1( DefaultBuildOperationQueue.java:212 ) at org.gradle.internal.work .DefaultWorkerLeaseService.withLocks( DefaultWorkerLeaseService.java:213 ) at org.gradle.internal.operations.DefaultBuildOperationQueue$WorkerRunnable.runBatch( DefaultBuildOperationQueue.java:200 ) at org.gradle.internal.operations.DefaultBuildOperationQueue$WorkerRunnable.run( DefaultBuildOperationQueue.java:172 ) at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute( ExecutorPolicy.java:64 ) at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run( ManagedExecutorImpl.java:48 ) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker( ThreadPoolExecutor.java:1128 ) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run( ThreadPoolExecutor.java:628 ) at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run( ThreadFactoryImpl.java:56 ) at java.base/java.lang.Thread.run( Thread.java:834 ) Caused by: org.gradle.internal.resource.transport.http.HttpRequestException: Could not GET ' https://jcenter.bintray.com/org/springframework/boot/spring-boot-loader-tools/2.4.8/spring-boot-loader-tools-2.4.8.pom '. at org.gradle.internal.resource.transport.http.HttpClientHelper.performRequest( HttpClientHelper.java:107 ) at org.gradle.internal.resource.transport.http.HttpClientHelper.performRawGet( HttpClientHelper.java:92 ) at org.gradle.internal.resource.transport.http.HttpClientHelper.performGet( HttpClientHelper.java:96 ) at org.gradle.internal.resource.transport.http.HttpResourceAccessor.openResource( HttpResourceAccessor.java:43 ) at org.gradle.internal.resource.transport.http.HttpResourceAccessor.openResource( HttpResourceAccessor.java:28 ) at org.gradle.internal.resource.transfer.DefaultExternalResourceConnector.openResource( DefaultExternalResourceConnector.java:56 ) at org.gradle.internal.resource.transfer.ProgressLoggingExternalResourceAccessor.openResource( ProgressLoggingExternalResourceAccessor.java:38 ) at org.gradle.internal.resource.transfer.AccessorBackedExternalResource.withContentIfPresent( AccessorBackedExternalResource.java:130 ) at org.gradle.internal.resource.BuildOperationFiringExternalResourceDecorator$11.call( BuildOperationFiringExternalResourceDecorator.java:237 ) at org.gradle.internal.resource.BuildOperationFiringExternalResourceDecorator$11.call( BuildOperationFiringExternalResourceDecorator.java:229 ) at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute( DefaultBuildOperationRunner.java:200 ) at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute( DefaultBuildOperationRunner.java:195 ) at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute( DefaultBuildOperationRunner.java:75 ) at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute( DefaultBuildOperationRunner.java:68 ) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute( DefaultBuildOperationRunner.java:153 ) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute( DefaultBuildOperationRunner.java:68 ) at org.gradle.internal.operations.DefaultBuildOperationRunner.call ( DefaultBuildOperationRunner.java:62 ) at org.gradle.internal.operations.DefaultBuildOperationExecutor.lambda$call$2( DefaultBuildOperationExecutor.java:76 ) at org.gradle.internal.operations.UnmanagedBuildOperationWrapper.callWithUnmanagedSupport( UnmanagedBuildOperationWrapper.java:54 ) at org.gradle.internal.operations.DefaultBuildOperationExecutor.call ( DefaultBuildOperationExecutor.java:76 ) at org.gradle.internal.resource.BuildOperationFiringExternalResourceDecorator.withContentIfPresent( BuildOperationFiringExternalResourceDecorator.java:229 ) at org.gradle.internal.resource.transfer.DefaultCacheAwareExternalResourceAccessor.copyToCache( DefaultCacheAwareExternalResourceAccessor.java:199 ) ... 51 more Caused by: javax.net .ssl.SSLHandshakeException: PKIX path validation failed: java.security .cert.CertPathValidatorException: validity check failed at java.base/sun.security.ssl.Alert.createSSLException( Alert.java:131 ) at java.base/sun.security.ssl.TransportContext.fatal( TransportContext.java:369 ) at java.base/sun.security.ssl.TransportContext.fatal( TransportContext.java:312 ) at java.base/sun.security.ssl.TransportContext.fatal( TransportContext.java:307 ) at java.base/sun.security.ssl.CertificateMessage$T13CertificateConsumer.checkServerCerts( CertificateMessage.java:1357 ) at java.base/sun.security.ssl.CertificateMessage$T13CertificateConsumer.onConsumeCertificate( CertificateMessage.java:1232 ) at java.base/sun.security.ssl.CertificateMessage$T13CertificateConsumer.consume( CertificateMessage.java:1175 ) at java.base/sun.security.ssl.SSLHandshake.consume( SSLHandshake.java:392 ) at java.base/sun.security.ssl.HandshakeContext.dispatch( HandshakeContext.java:478 ) at java.base/sun.security.ssl.HandshakeContext.dispatch( HandshakeContext.java:456 ) at java.base/sun.security.ssl.TransportContext.dispatch( TransportContext.java:199 ) at java.base/sun.security.ssl.SSLTransport.decode( SSLTransport.java:172 ) at java.base/sun.security.ssl.SSLSocketImpl.decode( SSLSocketImpl.java:1382 ) at java.base/sun.security.ssl.SSLSocketImpl.readHandshakeRecord( SSLSocketImpl.java:1295 ) at java.base/sun.security.ssl.SSLSocketImpl.startHandshake( SSLSocketImpl.java:416 ) at java.base/sun.security.ssl.SSLSocketImpl.startHandshake( SSLSocketImpl.java:388 ) at org.apache.http.conn.ssl.SSLConnectionSocketFactory.createLayeredSocket( SSLConnectionSocketFactory.java:436 ) at org.apache.http.conn.ssl.SSLConnectionSocketFactory.connectSocket( SSLConnectionSocketFactory.java:384 ) at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect( DefaultHttpClientConnectionOperator.java:142 ) at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect( PoolingHttpClientConnectionManager.java:376 ) at org.apache.http.impl.execchain.MainClientExec.establishRoute( MainClientExec.java:393 ) at org.apache.http.impl.execchain.MainClientExec.execute( MainClientExec.java:236 ) at org.apache.http.impl.execchain.ProtocolExec.execute( ProtocolExec.java:186 ) at org.apache.http.impl.execchain.RetryExec.execute( RetryExec.java:89 ) at org.apache.http.impl.execchain.RedirectExec.execute( RedirectExec.java:110 ) at org.apache.http.impl.client.InternalHttpClient.doExecute( InternalHttpClient.java:185 ) at org.apache.http.impl.client.CloseableHttpClient.execute( CloseableHttpClient.java:83 ) at org.gradle.internal.resource.transport.http.HttpClientHelper.performHttpRequest( HttpClientHelper.java:170 ) at org.gradle.internal.resource.transport.http.HttpClientHelper.performHttpRequest( HttpClientHelper.java:146 ) at org.gradle.internal.resource.transport.http.HttpClientHelper.executeGetOrHead( HttpClientHelper.java:135 ) at org.gradle.internal.resource.transport.http.HttpClientHelper.performRequest( HttpClientHelper.java:105 ) ... 72 more Caused by: sun.security .validator.ValidatorException: PKIX path validation failed: java.security .cert.CertPathValidatorException: validity check failed at java.base/sun.security.validator.PKIXValidator.doValidate( PKIXValidator.java:369 ) at java.base/sun.security.validator.PKIXValidator.engineValidate( PKIXValidator.java:263 ) at java.base/sun.security.validator.Validator.validate( Validator.java:264 ) at java.base/sun.security.ssl.X509TrustManagerImpl.validate( X509TrustManagerImpl.java:313 ) at java.base/sun.security.ssl.X509TrustManagerImpl.checkTrusted( X509TrustManagerImpl.java:222 ) at java.base/sun.security.ssl.X509TrustManagerImpl.checkServerTrusted( X509TrustManagerImpl.java:129 ) at java.base/sun.security.ssl.CertificateMessage$T13CertificateConsumer.checkServerCerts( CertificateMessage.java:1341 ) ... 98 more Caused by: java.security .cert.CertPathValidatorException: validity check failed at java.base/sun.security.provider.certpath.PKIXMasterCertPathValidator.validate( PKIXMasterCertPathValidator.java:135 ) at java.base/sun.security.provider.certpath.PKIXCertPathValidator.validate( PKIXCertPathValidator.java:224 ) at java.base/sun.security.provider.certpath.PKIXCertPathValidator.validate( PKIXCertPathValidator.java:144 ) at java.base/sun.security.provider.certpath.PKIXCertPathValidator.engineValidate( PKIXCertPathValidator.java:83 ) at java.base/java.security.cert.CertPathValidator.validate( CertPathValidator.java:309 ) at java.base/sun.security.validator.PKIXValidator.doValidate( PKIXValidator.java:364 ) ... 104 more Caused by: java.security .cert.CertificateExpiredException: NotAfter: Sat Nov 26 08:59:59 KST 2022 at java.base/sun.security.x509.CertificateValidity.valid( CertificateValidity.java:277 ) at java.base/sun.security.x509.X509CertImpl.checkValidity( X509CertImpl.java:683 ) at java.base/sun.security.provider.certpath.BasicChecker.verifyValidity( BasicChecker.java:190 ) at java.base/sun.security.provider.certpath.BasicChecker.check( BasicChecker.java:144 ) at java.base/sun.security.provider.certpath.PKIXMasterCertPathValidator.validate( PKIXMasterCertPathValidator.java:125 ) ... 109 more Cause 3: org.gradle.internal.resolve.ModuleVersionResolveException: Could not resolve org.apache.commons:commons-compress:1.20. Required by: project : > org.springframework.boot:org.springframework.boot.gradle.plugin:2.4.8 > org.springframework.boot:spring-boot-gradle-plugin:2.4.8 Caused by: org.gradle.internal.resolve.ModuleVersionResolveException: Could not resolve org.apache.commons:commons-compress:1.20. Caused by: org.gradle.api.resources.ResourceException: Could not get resource ' https://plugins.gradle.org/m2/org/apache/commons/commons-compress/1.20/commons-compress-1.20.pom '. at org.gradle.internal.resource.ResourceExceptions.failure( ResourceExceptions.java:74 ) at org.gradle.internal.resource.ResourceExceptions.getFailed( ResourceExceptions.java:57 ) at org.gradle.internal.resource.transfer.DefaultCacheAwareExternalResourceAccessor.copyToCache( DefaultCacheAwareExternalResourceAccessor.java:201 ) at org.gradle.internal.resource.transfer.DefaultCacheAwareExternalResourceAccessor.lambda$getResource$1( DefaultCacheAwareExternalResourceAccessor.java:89 ) at org.gradle.cache.internal.ProducerGuard$AdaptiveProducerGuard.guardByKey( ProducerGuard.java:97 ) at org.gradle.internal.resource.transfer.DefaultCacheAwareExternalResourceAccessor.getResource( DefaultCacheAwareExternalResourceAccessor.java:83 ) at org.gradle.api.internal.artifacts.repositories.resolver.DefaultExternalResourceArtifactResolver.downloadByCoords( DefaultExternalResourceArtifactResolver.java:139 ) at org.gradle.api.internal.artifacts.repositories.resolver.DefaultExternalResourceArtifactResolver.downloadStaticResource( DefaultExternalResourceArtifactResolver.java:94 ) at org.gradle.api.internal.artifacts.repositories.resolver.DefaultExternalResourceArtifactResolver.resolveArtifact( DefaultExternalResourceArtifactResolver.java:60 ) at org.gradle.api.internal.artifacts.repositories.metadata.AbstractRepositoryMetadataSource.parseMetaDataFromArtifact( AbstractRepositoryMetadataSource.java:78 ) at org.gradle.api.internal.artifacts.repositories.metadata.AbstractRepositoryMetadataSource.create( AbstractRepositoryMetadataSource.java:68 ) at org.gradle.api.internal.artifacts.repositories.metadata.DefaultMavenPomMetadataSource.create( DefaultMavenPomMetadataSource.java:40 ) at org.gradle.api.internal.artifacts.repositories.metadata.RedirectingGradleMetadataModuleMetadataSource.create( RedirectingGradleMetadataModuleMetadataSource.java:51 ) at org.gradle.api.internal.artifacts.repositories.resolver.ExternalResourceResolver.resolveStaticDependency( ExternalResourceResolver.java:245 ) at org.gradle.api.internal.artifacts.repositories.resolver.MavenResolver.doResolveComponentMetaData( MavenResolver.java:129 ) at org.gradle.api.internal.artifacts.repositories.resolver.ExternalResourceResolver$RemoteRepositoryAccess.resolveComponentMetaData( ExternalResourceResolver.java:466 ) at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.CachingModuleComponentRepository$ResolveAndCacheRepositoryAccess.resolveComponentMetaData( CachingModuleComponentRepository.java:394 ) at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.ErrorHandlingModuleComponentRepository$ErrorHandlingModuleComponentRepositoryAccess.lambda$resolveComponentMetaData$5( ErrorHandlingModuleComponentRepository.java:154 ) at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.ErrorHandlingModuleComponentRepository$ErrorHandlingModuleComponentRepositoryAccess.lambda$tryResolveAndMaybeBlacklist$18( ErrorHandlingModuleComponentRepository.java:223 ) at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.ErrorHandlingModuleComponentRepository$ErrorHandlingModuleComponentRepositoryAccess.tryResolveAndMaybeBlacklist( ErrorHandlingModuleComponentRepository.java:237 ) at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.ErrorHandlingModuleComponentRepository$ErrorHandlingModuleComponentRepositoryAccess.tryResolveAndMaybeBlacklist( ErrorHandlingModuleComponentRepository.java:222 ) at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.ErrorHandlingModuleComponentRepository$ErrorHandlingModuleComponentRepositoryAccess.performOperationWithRetries( ErrorHandlingModuleComponentRepository.java:215 ) at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.ErrorHandlingModuleComponentRepository$ErrorHandlingModuleComponentRepositoryAccess.resolveComponentMetaData( ErrorHandlingModuleComponentRepository.java:153 ) at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.ComponentMetaDataResolveState.process( ComponentMetaDataResolveState.java:69 ) at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.ComponentMetaDataResolveState.resolve( ComponentMetaDataResolveState.java:61 ) at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.RepositoryChainComponentMetaDataResolver.findBestMatch( RepositoryChainComponentMetaDataResolver.java:138 ) at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.RepositoryChainComponentMetaDataResolver.findBestMatch( RepositoryChainComponentMetaDataResolver.java:119 ) at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.RepositoryChainComponentMetaDataResolver.resolveModule( RepositoryChainComponentMetaDataResolver.java:93 ) at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.RepositoryChainComponentMetaDataResolver.resolve( RepositoryChainComponentMetaDataResolver.java:64 ) at org.gradle.api.internal.artifacts.ivyservice.resolveengine.ComponentResolversChain$ComponentMetaDataResolverChain.resolve( ComponentResolversChain.java:101 ) at org.gradle.api.internal.artifacts.ivyservice.clientmodule.ClientModuleResolver.resolve( ClientModuleResolver.java:66 ) at org.gradle.api.internal.artifacts.ivyservice.resolveengine.graph.builder.ComponentState.resolve( ComponentState.java:197 ) at org.gradle.api.internal.artifacts.ivyservice.resolveengine.graph.builder.ComponentState.getMetadata( ComponentState.java:144 ) at org.gradle.api.internal.artifacts.ivyservice.resolveengine.graph.builder.DownloadMetadataOperation.run ( DownloadMetadataOperation.java:31 ) at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute( DefaultBuildOperationRunner.java:75 ) at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute( DefaultBuildOperationRunner.java:68 ) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute( DefaultBuildOperationRunner.java:153 ) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute( DefaultBuildOperationRunner.java:68 ) at org.gradle.internal.operations.DefaultBuildOperationExecutor$QueueWorker.execute( DefaultBuildOperationExecutor.java:199 ) at org.gradle.internal.operations.DefaultBuildOperationQueue$WorkerRunnable.runOperation( DefaultBuildOperationQueue.java:241 ) at org.gradle.internal.operations.DefaultBuildOperationQueue$WorkerRunnable.doRunBatch( DefaultBuildOperationQueue.java:222 ) at org.gradle.internal.operations.DefaultBuildOperationQueue$WorkerRunnable.lambda$runBatch$0( DefaultBuildOperationQueue.java:212 ) at org.gradle.internal.resources.AbstractResourceLockRegistry.whileDisallowingLockChanges( AbstractResourceLockRegistry.java:70 ) at org.gradle.internal.work .DefaultWorkerLeaseService.whileDisallowingProjectLockChanges( DefaultWorkerLeaseService.java:185 ) at org.gradle.internal.operations.DefaultBuildOperationQueue$WorkerRunnable.lambda$runBatch$1( DefaultBuildOperationQueue.java:212 ) at org.gradle.internal.work .DefaultWorkerLeaseService.withLocks( DefaultWorkerLeaseService.java:213 ) at org.gradle.internal.operations.DefaultBuildOperationQueue$WorkerRunnable.runBatch( DefaultBuildOperationQueue.java:200 ) at org.gradle.internal.operations.DefaultBuildOperationQueue$WorkerRunnable.run( DefaultBuildOperationQueue.java:172 ) at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute( ExecutorPolicy.java:64 ) at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run( ManagedExecutorImpl.java:48 ) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker( ThreadPoolExecutor.java:1128 ) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run( ThreadPoolExecutor.java:628 ) at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run( ThreadFactoryImpl.java:56 ) at java.base/java.lang.Thread.run( Thread.java:834 ) Caused by: org.gradle.internal.resource.transport.http.HttpRequestException: Could not GET ' https://jcenter.bintray.com/org/apache/commons/commons-compress/1.20/commons-compress-1.20.pom '. at org.gradle.internal.resource.transport.http.HttpClientHelper.performRequest( HttpClientHelper.java:107 ) at org.gradle.internal.resource.transport.http.HttpClientHelper.performRawGet( HttpClientHelper.java:92 ) at org.gradle.internal.resource.transport.http.HttpClientHelper.performGet( HttpClientHelper.java:96 ) at org.gradle.internal.resource.transport.http.HttpResourceAccessor.openResource( HttpResourceAccessor.java:43 ) at org.gradle.internal.resource.transport.http.HttpResourceAccessor.openResource( HttpResourceAccessor.java:28 ) at org.gradle.internal.resource.transfer.DefaultExternalResourceConnector.openResource( DefaultExternalResourceConnector.java:56 ) at org.gradle.internal.resource.transfer.ProgressLoggingExternalResourceAccessor.openResource( ProgressLoggingExternalResourceAccessor.java:38 ) at org.gradle.internal.resource.transfer.AccessorBackedExternalResource.withContentIfPresent( AccessorBackedExternalResource.java:130 ) at org.gradle.internal.resource.BuildOperationFiringExternalResourceDecorator$11.call( BuildOperationFiringExternalResourceDecorator.java:237 ) at org.gradle.internal.resource.BuildOperationFiringExternalResourceDecorator$11.call( BuildOperationFiringExternalResourceDecorator.java:229 ) at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute( DefaultBuildOperationRunner.java:200 ) at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute( DefaultBuildOperationRunner.java:195 ) at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute( DefaultBuildOperationRunner.java:75 ) at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute( DefaultBuildOperationRunner.java:68 ) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute( DefaultBuildOperationRunner.java:153 ) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute( DefaultBuildOperationRunner.java:68 ) at org.gradle.internal.operations.DefaultBuildOperationRunner.call ( DefaultBuildOperationRunner.java:62 ) at org.gradle.internal.operations.DefaultBuildOperationExecutor.lambda$call$2( DefaultBuildOperationExecutor.java:76 ) at org.gradle.internal.operations.UnmanagedBuildOperationWrapper.callWithUnmanagedSupport( UnmanagedBuildOperationWrapper.java:54 ) at org.gradle.internal.operations.DefaultBuildOperationExecutor.call ( DefaultBuildOperationExecutor.java:76 ) at org.gradle.internal.resource.BuildOperationFiringExternalResourceDecorator.withContentIfPresent( BuildOperationFiringExternalResourceDecorator.java:229 ) at org.gradle.internal.resource.transfer.DefaultCacheAwareExternalResourceAccessor.copyToCache( DefaultCacheAwareExternalResourceAccessor.java:199 ) ... 51 more Caused by: javax.net .ssl.SSLHandshakeException: PKIX path validation failed: java.security .cert.CertPathValidatorException: validity check failed at java.base/sun.security.ssl.Alert.createSSLException( Alert.java:131 ) at java.base/sun.security.ssl.TransportContext.fatal( TransportContext.java:369 ) at java.base/sun.security.ssl.TransportContext.fatal( TransportContext.java:312 ) at java.base/sun.security.ssl.TransportContext.fatal( TransportContext.java:307 ) at java.base/sun.security.ssl.CertificateMessage$T13CertificateConsumer.checkServerCerts( CertificateMessage.java:1357 ) at java.base/sun.security.ssl.CertificateMessage$T13CertificateConsumer.onConsumeCertificate( CertificateMessage.java:1232 ) at java.base/sun.security.ssl.CertificateMessage$T13CertificateConsumer.consume( CertificateMessage.java:1175 ) at java.base/sun.security.ssl.SSLHandshake.consume( SSLHandshake.java:392 ) at java.base/sun.security.ssl.HandshakeContext.dispatch( HandshakeContext.java:478 ) at java.base/sun.security.ssl.HandshakeContext.dispatch( HandshakeContext.java:456 ) at java.base/sun.security.ssl.TransportContext.dispatch( TransportContext.java:199 ) at java.base/sun.security.ssl.SSLTransport.decode( SSLTransport.java:172 ) at java.base/sun.security.ssl.SSLSocketImpl.decode( SSLSocketImpl.java:1382 ) at java.base/sun.security.ssl.SSLSocketImpl.readHandshakeRecord( SSLSocketImpl.java:1295 ) at java.base/sun.security.ssl.SSLSocketImpl.startHandshake( SSLSocketImpl.java:416 ) at java.base/sun.security.ssl.SSLSocketImpl.startHandshake( SSLSocketImpl.java:388 ) at org.apache.http.conn.ssl.SSLConnectionSocketFactory.createLayeredSocket( SSLConnectionSocketFactory.java:436 ) at org.apache.http.conn.ssl.SSLConnectionSocketFactory.connectSocket( SSLConnectionSocketFactory.java:384 ) at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect( DefaultHttpClientConnectionOperator.java:142 ) at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect( PoolingHttpClientConnectionManager.java:376 ) at org.apache.http.impl.execchain.MainClientExec.establishRoute( MainClientExec.java:393 ) at org.apache.http.impl.execchain.MainClientExec.execute( MainClientExec.java:236 ) at org.apache.http.impl.execchain.ProtocolExec.execute( ProtocolExec.java:186 ) at org.apache.http.impl.execchain.RetryExec.execute( RetryExec.java:89 ) at org.apache.http.impl.execchain.RedirectExec.execute( RedirectExec.java:110 ) at org.apache.http.impl.client.InternalHttpClient.doExecute( InternalHttpClient.java:185 ) at org.apache.http.impl.client.CloseableHttpClient.execute( CloseableHttpClient.java:83 ) at org.gradle.internal.resource.transport.http.HttpClientHelper.performHttpRequest( HttpClientHelper.java:170 ) at org.gradle.internal.resource.transport.http.HttpClientHelper.performHttpRequest( HttpClientHelper.java:146 ) at org.gradle.internal.resource.transport.http.HttpClientHelper.executeGetOrHead( HttpClientHelper.java:135 ) at org.gradle.internal.resource.transport.http.HttpClientHelper.performRequest( HttpClientHelper.java:105 ) ... 72 more Caused by: sun.security .validator.ValidatorException: PKIX path validation failed: java.security .cert.CertPathValidatorException: validity check failed at java.base/sun.security.validator.PKIXValidator.doValidate( PKIXValidator.java:369 ) at java.base/sun.security.validator.PKIXValidator.engineValidate( PKIXValidator.java:263 ) at java.base/sun.security.validator.Validator.validate( Validator.java:264 ) at java.base/sun.security.ssl.X509TrustManagerImpl.validate( X509TrustManagerImpl.java:313 ) at java.base/sun.security.ssl.X509TrustManagerImpl.checkTrusted( X509TrustManagerImpl.java:222 ) at java.base/sun.security.ssl.X509TrustManagerImpl.checkServerTrusted( X509TrustManagerImpl.java:129 ) at java.base/sun.security.ssl.CertificateMessage$T13CertificateConsumer.checkServerCerts( CertificateMessage.java:1341 ) ... 98 more Caused by: java.security .cert.CertPathValidatorException: validity check failed at java.base/sun.security.provider.certpath.PKIXMasterCertPathValidator.validate( PKIXMasterCertPathValidator.java:135 ) at java.base/sun.security.provider.certpath.PKIXCertPathValidator.validate( PKIXCertPathValidator.java:224 ) at java.base/sun.security.provider.certpath.PKIXCertPathValidator.validate( PKIXCertPathValidator.java:144 ) at java.base/sun.security.provider.certpath.PKIXCertPathValidator.engineValidate( PKIXCertPathValidator.java:83 ) at java.base/java.security.cert.CertPathValidator.validate( CertPathValidator.java:309 ) at java.base/sun.security.validator.PKIXValidator.doValidate( PKIXValidator.java:364 ) ... 104 more Caused by: java.security .cert.CertificateExpiredException: NotAfter: Sat Nov 26 08:59:59 KST 2022 at java.base/sun.security.x509.CertificateValidity.valid( CertificateValidity.java:277 ) at java.base/sun.security.x509.X509CertImpl.checkValidity( X509CertImpl.java:683 ) at java.base/sun.security.provider.certpath.BasicChecker.verifyValidity( BasicChecker.java:190 ) at java.base/sun.security.provider.certpath.BasicChecker.check( BasicChecker.java:144 ) at java.base/sun.security.provider.certpath.PKIXMasterCertPathValidator.validate( PKIXMasterCertPathValidator.java:125 ) ... 109 more Cause 4: org.gradle.internal.resolve.ModuleVersionResolveException: Could not resolve org.springframework:spring-core:5.3.8. Required by: project : > org.springframework.boot:org.springframework.boot.gradle.plugin:2.4.8 > org.springframework.boot:spring-boot-gradle-plugin:2.4.8 Caused by: org.gradle.internal.resolve.ModuleVersionResolveException: Could not resolve org.springframework:spring-core:5.3.8. Caused by: org.gradle.api.resources.ResourceException: Could not get resource ' https://plugins.gradle.org/m2/org/springframework/spring-core/5.3.8/spring-core-5.3.8.pom '. at org.gradle.internal.resource.ResourceExceptions.failure( ResourceExceptions.java:74 ) at org.gradle.internal.resource.ResourceExceptions.getFailed( ResourceExceptions.java:57 ) at org.gradle.internal.resource.transfer.DefaultCacheAwareExternalResourceAccessor.copyToCache( DefaultCacheAwareExternalResourceAccessor.java:201 ) at org.gradle.internal.resource.transfer.DefaultCacheAwareExternalResourceAccessor.lambda$getResource$1( DefaultCacheAwareExternalResourceAccessor.java:89 ) at org.gradle.cache.internal.ProducerGuard$AdaptiveProducerGuard.guardByKey( ProducerGuard.java:97 ) at org.gradle.internal.resource.transfer.DefaultCacheAwareExternalResourceAccessor.getResource( DefaultCacheAwareExternalResourceAccessor.java:83 ) at org.gradle.api.internal.artifacts.repositories.resolver.DefaultExternalResourceArtifactResolver.downloadByCoords( DefaultExternalResourceArtifactResolver.java:139 ) at org.gradle.api.internal.artifacts.repositories.resolver.DefaultExternalResourceArtifactResolver.downloadStaticResource( DefaultExternalResourceArtifactResolver.java:94 ) at org.gradle.api.internal.artifacts.repositories.resolver.DefaultExternalResourceArtifactResolver.resolveArtifact( DefaultExternalResourceArtifactResolver.java:60 ) at org.gradle.api.internal.artifacts.repositories.metadata.AbstractRepositoryMetadataSource.parseMetaDataFromArtifact( AbstractRepositoryMetadataSource.java:78 ) at org.gradle.api.internal.artifacts.repositories.metadata.AbstractRepositoryMetadataSource.create( AbstractRepositoryMetadataSource.java:68 ) at org.gradle.api.internal.artifacts.repositories.metadata.DefaultMavenPomMetadataSource.create( DefaultMavenPomMetadataSource.java:40 ) at org.gradle.api.internal.artifacts.repositories.metadata.RedirectingGradleMetadataModuleMetadataSource.create( RedirectingGradleMetadataModuleMetadataSource.java:51 ) at org.gradle.api.internal.artifacts.repositories.resolver.ExternalResourceResolver.resolveStaticDependency( ExternalResourceResolver.java:245 ) at org.gradle.api.internal.artifacts.repositories.resolver.MavenResolver.doResolveComponentMetaData( MavenResolver.java:129 ) at org.gradle.api.internal.artifacts.repositories.resolver.ExternalResourceResolver$RemoteRepositoryAccess.resolveComponentMetaData( ExternalResourceResolver.java:466 ) at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.CachingModuleComponentRepository$ResolveAndCacheRepositoryAccess.resolveComponentMetaData( CachingModuleComponentRepository.java:394 ) at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.ErrorHandlingModuleComponentRepository$ErrorHandlingModuleComponentRepositoryAccess.lambda$resolveComponentMetaData$5( ErrorHandlingModuleComponentRepository.java:154 ) at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.ErrorHandlingModuleComponentRepository$ErrorHandlingModuleComponentRepositoryAccess.lambda$tryResolveAndMaybeBlacklist$18( ErrorHandlingModuleComponentRepository.java:223 ) at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.ErrorHandlingModuleComponentRepository$ErrorHandlingModuleComponentRepositoryAccess.tryResolveAndMaybeBlacklist( ErrorHandlingModuleComponentRepository.java:237 ) at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.ErrorHandlingModuleComponentRepository$ErrorHandlingModuleComponentRepositoryAccess.tryResolveAndMaybeBlacklist( ErrorHandlingModuleComponentRepository.java:222 ) at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.ErrorHandlingModuleComponentRepository$ErrorHandlingModuleComponentRepositoryAccess.performOperationWithRetries( ErrorHandlingModuleComponentRepository.java:215 ) at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.ErrorHandlingModuleComponentRepository$ErrorHandlingModuleComponentRepositoryAccess.resolveComponentMetaData( ErrorHandlingModuleComponentRepository.java:153 ) at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.ComponentMetaDataResolveState.process( ComponentMetaDataResolveState.java:69 ) at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.ComponentMetaDataResolveState.resolve( ComponentMetaDataResolveState.java:61 ) at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.RepositoryChainComponentMetaDataResolver.findBestMatch( RepositoryChainComponentMetaDataResolver.java:138 ) at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.RepositoryChainComponentMetaDataResolver.findBestMatch( RepositoryChainComponentMetaDataResolver.java:119 ) at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.RepositoryChainComponentMetaDataResolver.resolveModule( RepositoryChainComponentMetaDataResolver.java:93 ) at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.RepositoryChainComponentMetaDataResolver.resolve( RepositoryChainComponentMetaDataResolver.java:64 ) at org.gradle.api.internal.artifacts.ivyservice.resolveengine.ComponentResolversChain$ComponentMetaDataResolverChain.resolve( ComponentResolversChain.java:101 ) at org.gradle.api.internal.artifacts.ivyservice.clientmodule.ClientModuleResolver.resolve( ClientModuleResolver.java:66 ) at org.gradle.api.internal.artifacts.ivyservice.resolveengine.graph.builder.ComponentState.resolve( ComponentState.java:197 ) at org.gradle.api.internal.artifacts.ivyservice.resolveengine.graph.builder.ComponentState.getMetadata( ComponentState.java:144 ) at org.gradle.api.internal.artifacts.ivyservice.resolveengine.graph.builder.DownloadMetadataOperation.run ( DownloadMetadataOperation.java:31 ) at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute( DefaultBuildOperationRunner.java:75 ) at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute( DefaultBuildOperationRunner.java:68 ) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute( DefaultBuildOperationRunner.java:153 ) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute( DefaultBuildOperationRunner.java:68 ) at org.gradle.internal.operations.DefaultBuildOperationExecutor$QueueWorker.execute( DefaultBuildOperationExecutor.java:199 ) at org.gradle.internal.operations.DefaultBuildOperationQueue$WorkerRunnable.runOperation( DefaultBuildOperationQueue.java:241 ) at org.gradle.internal.operations.DefaultBuildOperationQueue$WorkerRunnable.doRunBatch( DefaultBuildOperationQueue.java:222 ) at org.gradle.internal.operations.DefaultBuildOperationQueue$WorkerRunnable.lambda$runBatch$0( DefaultBuildOperationQueue.java:212 ) at org.gradle.internal.resources.AbstractResourceLockRegistry.whileDisallowingLockChanges( AbstractResourceLockRegistry.java:70 ) at org.gradle.internal.work .DefaultWorkerLeaseService.whileDisallowingProjectLockChanges( DefaultWorkerLeaseService.java:185 ) at org.gradle.internal.operations.DefaultBuildOperationQueue$WorkerRunnable.lambda$runBatch$1( DefaultBuildOperationQueue.java:212 ) at org.gradle.internal.work .DefaultWorkerLeaseService.withLocks( DefaultWorkerLeaseService.java:213 ) at org.gradle.internal.operations.DefaultBuildOperationQueue$WorkerRunnable.runBatch( DefaultBuildOperationQueue.java:200 ) at org.gradle.internal.operations.DefaultBuildOperationQueue$WorkerRunnable.run( DefaultBuildOperationQueue.java:172 ) at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute( ExecutorPolicy.java:64 ) at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run( ManagedExecutorImpl.java:48 ) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker( ThreadPoolExecutor.java:1128 ) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run( ThreadPoolExecutor.java:628 ) at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run( ThreadFactoryImpl.java:56 ) at java.base/java.lang.Thread.run( Thread.java:834 ) Caused by: org.gradle.internal.resource.transport.http.HttpRequestException: Could not GET ' https://jcenter.bintray.com/org/springframework/spring-core/5.3.8/spring-core-5.3.8.pom '. at org.gradle.internal.resource.transport.http.HttpClientHelper.performRequest( HttpClientHelper.java:107 ) at org.gradle.internal.resource.transport.http.HttpClientHelper.performRawGet( HttpClientHelper.java:92 ) at org.gradle.internal.resource.transport.http.HttpClientHelper.performGet( HttpClientHelper.java:96 ) at org.gradle.internal.resource.transport.http.HttpResourceAccessor.openResource( HttpResourceAccessor.java:43 ) at org.gradle.internal.resource.transport.http.HttpResourceAccessor.openResource( HttpResourceAccessor.java:28 ) at org.gradle.internal.resource.transfer.DefaultExternalResourceConnector.openResource( DefaultExternalResourceConnector.java:56 ) at org.gradle.internal.resource.transfer.ProgressLoggingExternalResourceAccessor.openResource( ProgressLoggingExternalResourceAccessor.java:38 ) at org.gradle.internal.resource.transfer.AccessorBackedExternalResource.withContentIfPresent( AccessorBackedExternalResource.java:130 ) at org.gradle.internal.resource.BuildOperationFiringExternalResourceDecorator$11.call( BuildOperationFiringExternalResourceDecorator.java:237 ) at org.gradle.internal.resource.BuildOperationFiringExternalResourceDecorator$11.call( BuildOperationFiringExternalResourceDecorator.java:229 ) at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute( DefaultBuildOperationRunner.java:200 ) at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute( DefaultBuildOperationRunner.java:195 ) at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute( DefaultBuildOperationRunner.java:75 ) at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute( DefaultBuildOperationRunner.java:68 ) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute( DefaultBuildOperationRunner.java:153 ) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute( DefaultBuildOperationRunner.java:68 ) at org.gradle.internal.operations.DefaultBuildOperationRunner.call ( DefaultBuildOperationRunner.java:62 ) at org.gradle.internal.operations.DefaultBuildOperationExecutor.lambda$call$2( DefaultBuildOperationExecutor.java:76 ) at org.gradle.internal.operations.UnmanagedBuildOperationWrapper.callWithUnmanagedSupport( UnmanagedBuildOperationWrapper.java:54 ) at org.gradle.internal.operations.DefaultBuildOperationExecutor.call ( DefaultBuildOperationExecutor.java:76 ) at org.gradle.internal.resource.BuildOperationFiringExternalResourceDecorator.withContentIfPresent( BuildOperationFiringExternalResourceDecorator.java:229 ) at org.gradle.internal.resource.transfer.DefaultCacheAwareExternalResourceAccessor.copyToCache( DefaultCacheAwareExternalResourceAccessor.java:199 ) ... 51 more Caused by: javax.net .ssl.SSLHandshakeException: PKIX path validation failed: java.security .cert.CertPathValidatorException: validity check failed at java.base/sun.security.ssl.Alert.createSSLException( Alert.java:131 ) at java.base/sun.security.ssl.TransportContext.fatal( TransportContext.java:369 ) at java.base/sun.security.ssl.TransportContext.fatal( TransportContext.java:312 ) at java.base/sun.security.ssl.TransportContext.fatal( TransportContext.java:307 ) at java.base/sun.security.ssl.CertificateMessage$T13CertificateConsumer.checkServerCerts( CertificateMessage.java:1357 ) at java.base/sun.security.ssl.CertificateMessage$T13CertificateConsumer.onConsumeCertificate( CertificateMessage.java:1232 ) at java.base/sun.security.ssl.CertificateMessage$T13CertificateConsumer.consume( CertificateMessage.java:1175 ) at java.base/sun.security.ssl.SSLHandshake.consume( SSLHandshake.java:392 ) at java.base/sun.security.ssl.HandshakeContext.dispatch( HandshakeContext.java:478 ) at java.base/sun.security.ssl.HandshakeContext.dispatch( HandshakeContext.java:456 ) at java.base/sun.security.ssl.TransportContext.dispatch( TransportContext.java:199 ) at java.base/sun.security.ssl.SSLTransport.decode( SSLTransport.java:172 ) at java.base/sun.security.ssl.SSLSocketImpl.decode( SSLSocketImpl.java:1382 ) at java.base/sun.security.ssl.SSLSocketImpl.readHandshakeRecord( SSLSocketImpl.java:1295 ) at java.base/sun.security.ssl.SSLSocketImpl.startHandshake( SSLSocketImpl.java:416 ) at java.base/sun.security.ssl.SSLSocketImpl.startHandshake( SSLSocketImpl.java:388 ) at org.apache.http.conn.ssl.SSLConnectionSocketFactory.createLayeredSocket( SSLConnectionSocketFactory.java:436 ) at org.apache.http.conn.ssl.SSLConnectionSocketFactory.connectSocket( SSLConnectionSocketFactory.java:384 ) at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect( DefaultHttpClientConnectionOperator.java:142 ) at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect( PoolingHttpClientConnectionManager.java:376 ) at org.apache.http.impl.execchain.MainClientExec.establishRoute( MainClientExec.java:393 ) at org.apache.http.impl.execchain.MainClientExec.execute( MainClientExec.java:236 ) at org.apache.http.impl.execchain.ProtocolExec.execute( ProtocolExec.java:186 ) at org.apache.http.impl.execchain.RetryExec.execute( RetryExec.java:89 ) at org.apache.http.impl.execchain.RedirectExec.execute( RedirectExec.java:110 ) at org.apache.http.impl.client.InternalHttpClient.doExecute( InternalHttpClient.java:185 ) at org.apache.http.impl.client.CloseableHttpClient.execute( CloseableHttpClient.java:83 ) at org.gradle.internal.resource.transport.http.HttpClientHelper.performHttpRequest( HttpClientHelper.java:170 ) at org.gradle.internal.resource.transport.http.HttpClientHelper.performHttpRequest( HttpClientHelper.java:146 ) at org.gradle.internal.resource.transport.http.HttpClientHelper.executeGetOrHead( HttpClientHelper.java:135 ) at org.gradle.internal.resource.transport.http.HttpClientHelper.performRequest( HttpClientHelper.java:105 ) ... 72 more Caused by: sun.security .validator.ValidatorException: PKIX path validation failed: java.security .cert.CertPathValidatorException: validity check failed at java.base/sun.security.validator.PKIXValidator.doValidate( PKIXValidator.java:369 ) at java.base/sun.security.validator.PKIXValidator.engineValidate( PKIXValidator.java:263 ) at java.base/sun.security.validator.Validator.validate( Validator.java:264 ) at java.base/sun.security.ssl.X509TrustManagerImpl.validate( X509TrustManagerImpl.java:313 ) at java.base/sun.security.ssl.X509TrustManagerImpl.checkTrusted( X509TrustManagerImpl.java:222 ) at java.base/sun.security.ssl.X509TrustManagerImpl.checkServerTrusted( X509TrustManagerImpl.java:129 ) at java.base/sun.security.ssl.CertificateMessage$T13CertificateConsumer.checkServerCerts( CertificateMessage.java:1341 ) ... 98 more Caused by: java.security .cert.CertPathValidatorException: validity check failed at java.base/sun.security.provider.certpath.PKIXMasterCertPathValidator.validate( PKIXMasterCertPathValidator.java:135 ) at java.base/sun.security.provider.certpath.PKIXCertPathValidator.validate( PKIXCertPathValidator.java:224 ) at java.base/sun.security.provider.certpath.PKIXCertPathValidator.validate( PKIXCertPathValidator.java:144 ) at java.base/sun.security.provider.certpath.PKIXCertPathValidator.engineValidate( PKIXCertPathValidator.java:83 ) at java.base/java.security.cert.CertPathValidator.validate( CertPathValidator.java:309 ) at java.base/sun.security.validator.PKIXValidator.doValidate( PKIXValidator.java:364 ) ... 104 more Caused by: java.security .cert.CertificateExpiredException: NotAfter: Sat Nov 26 08:59:59 KST 2022 at java.base/sun.security.x509.CertificateValidity.valid( CertificateValidity.java:277 ) at java.base/sun.security.x509.X509CertImpl.checkValidity( X509CertImpl.java:683 ) at java.base/sun.security.provider.certpath.BasicChecker.verifyValidity( BasicChecker.java:190 ) at java.base/sun.security.provider.certpath.BasicChecker.check( BasicChecker.java:144 ) at java.base/sun.security.provider.certpath.PKIXMasterCertPathValidator.validate( PKIXMasterCertPathValidator.java:125 ) ... 109 more 무엇이 원인일까요?ㅠㅠ

  • MVC
  • spring-boot
  • java
  • spring
임승연 댓글 2 좋아요 0 조회수 1357

gradle 파일을 github에 push해도 상관없나요?

해결됨

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

안녕하세요 좋은 강의 감사합니다! 공부한 내용을 비공개 레포지토리에 업로드 하려고 합니다. 아래 파일들이 .gitignore 파일에 추가안되있는데 이 파일들은 그대로 레포지토리에 업로드해도 괜찮은 건가요?

  • git
  • spring
  • gradle
  • java
  • MVC
  • spring-boot
심야 댓글 1 좋아요 1 조회수 683

[13:00] MemberServiceTest 의 memberRepository 와 memberService 의 memberRepository

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] memberService 안의 memberRepository 와, MemberServiceTest.java 안에서 선언된 memberRepository 는 다를 것 같은데, 어떻게 memberRepository.clearStore 로 지웠을 때 memberService 의 memberRepository 도 삭제가 되나요? 둘이 다른 객체이지 않을까 싶어 주솟값으로도 비교해보려고 하였으나 Java 에는 Object 의 주솟값을 비교하는 함수가 없다고 하네요... MemberService.java public class MemberService { private final MemberRepository memberRepository = new MemoryMemberRepository(); /** * 회원 가입 */ public Long join(Member member) { validateDuplicateMember(member); // 중복 회원 검증 memberRepository.save(member); return member.getId(); } // control + t => 메서드 추출 private void validateDuplicateMember(Member member) { memberRepository.findByName(member.getName()) .ifPresent(m -> { throw new IllegalStateException("이미 존재하는 회원입니다."); }); } /** * 전체 회원 조회 */ public List<Member> findMembers() { return memberRepository.findAll(); } public Optional<Member> findOne(Long memberId) { return memberRepository.findById(memberId); } } MemberServiceTest.java class MemberServiceTest { MemberService memberService = new MemberService(); MemoryMemberRepository memberRepository = new MemoryMemberRepository(); // for clearStore() @AfterEach public void afterEach() { memberRepository.clearStore(); } @Test void 회원가입() { // given Member member = new Member(); member.setName("spring"); // when Long saveId = memberService.join(member); // then Member findMember = memberService.findOne(saveId).get(); assertThat(member.getName()).isEqualTo(findMember.getName()); } @Test public void 중복_회원_예외() { // given Member member1 = new Member(); member1.setName("spring"); Member member2 = new Member(); member2.setName("spring"); // when memberService.join(member1); // then IllegalStateException e = assertThrows(IllegalStateException.class, () -> memberService.join(member2)); assertThrows(IllegalStateException.class, () -> memberService.join(member2)); // '오른쪽을 수행했을 때 왼쪽 예외가 발생해야 함' 을 의미 } }

  • java
  • java
  • MVC
  • spring
  • spring-boot
niobbam 댓글 1 좋아요 0 조회수 566

6분 45초쯤 양방향 연관관계에 대해서 간단한 질문이 있습니다.

해결됨

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

6분 45초쯤에 말씀을 하시는게 지금 이 강의는 예제로 보여주기 위해 Member와 Order가 일대다, 다대일로 양방향 연관관계를 이루고 있지만 실무에서는 이렇게 양방향으로 짜기보단 Order가 Member를 참조하게 되는 다대일만 써주는 것이 좋다. 이 말이 혹시 맞을까요...? 그리고 추가로 Order와 OrderItem의 관계에서는 양방향 연관관계를 안쓰려고 하면 OrderItem이 Order를 참조하는 것으로만 설계를 하면 되는건가요...?

  • 웹앱
  • spring
  • spring-boot
  • JPA
  • java
지호 댓글 1 좋아요 1 조회수 512

주 테이블 외래키 장,단점에 관해 질문이 있습니다.

미해결

자바 ORM 표준 JPA 프로그래밍 - 기본편

"주 테이블만 조회해도 대상 테이블에 데이터가 있는지 확인 가능" 이 부분을 저는 주 테이블만 봐도 일단 외래키가 있다는 것은 대상 테이블에 뭔가가 있다는 것이니까 대상 테이블의 데이터 존재 유무 확인이 가능하다 라고 이해를 하였고 "값이 없으면 외래 키에 null 허용" 이 부분을 저는 OneToOne 관계이므로 한 사람은 라커 하나를 사용할 수 있고 라커도 한 사람에게 할당될 수 있으므로 주 테이블의 외래키인 LOCKER_ID가 null 이라는 것은 이 사람에게 할당될 라커가 없고 고로 대상 테이블에도 데이터가 없다 라고 이해를 했습니다. 이런 상황에서 두 가지 질문이 있습니다. 제가 이해한 것이 맞을까요? 테이블 칼럼의 값이 null인 것이 왜 단점일까요?

  • JPA
  • java
비가싫어요 댓글 1 좋아요 1 조회수 1519

53강 mariadb나 mysql로 쓰신느 분들을 위한 sql문

미해결

JSP 웹 쇼핑몰 프로그래밍 기본 과정(JSP WEB Programming)

select * from board order by ref desc, re_step asc limit ?, ? 쿼리문 이거 쓰시고 ? 매핑할 때 pstmt.setInt(1, start-1); pstmt.setInt(2, pageSize); 이런식으로 써주고 getAllBoard(startRow, pageSize) 메소드도 이런식으로 endRow대신 pagesSize를 매개변수로 넣어주면 됩니다. endRow는 사용하지 않습니다.

  • jsp
  • java
백엔드 주니어 개발자 댓글 0 좋아요 0 조회수 501

count 쿼리 최적화 질문 드립니다.

해결됨

실전! Querydsl

안녕하세요! 영한님^^ 개발자들을 위해여 양질의 강의를 제공해주셔서 정말로 감사의 말씀을 드립니다.🙏 질문드리겠습니다. 먼저 제가 이해한 내용을 말씀드리겠습니다. PageableExecutionUtils 를 사용하면 count 쿼리 최적화하 가능 하다고 말씀하셨습니다. 그 이유는 람다를 사용하여 게으른 호출로 인하여 실제 사용되기 전까지는 함수가 실행되지 않는다고 이해했습니다. 다음 2가지 경우에 count 쿼리가 실행되지 않다고 말씀하셨습니다. 페이지 시작이면서 컨텐츠 사이즈가 페이지 사이즈 보다 작을때 페이지 시작(0) 이면서 컨텐츠 사이즈(3) 가 페이지 사이즈(10) 보다 작다면 컨텐츠 사이즈(3)가 카운트 갯수 마지막 페이지 일때( offset + 컨텐츠 사이즈 = 카운트 ) 예를 들어 전체 데이터는 103개이고, 페이지 사이즈는 10이라고 한다면 마지막 페이지 일때는 offset(100) , 컨텐츠 사이즈(3) 이라서 카운트는 103 으로 이해 하고 있는데 맞는 내용 인가요? 감사합니다.^^

  • java
  • JPA
개발하는쿼카 댓글 1 좋아요 2 조회수 747

로컬 페이지 아이콘

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

로컬 페이지 켰을때 스프링 아이콘이 아니라 일반 아이콘이 뜹니다. 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요.

  • MVC
  • spring-boot
  • java
  • spring
정다운 댓글 1 좋아요 1 조회수 309

JWT 이용한 로그인 구현

미해결

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

안녕하세요. 백엔드는 스프링, 프론트엔드는 리액트를 이용해서 리프레쉬 토큰과 엑세스 토큰으로 로그인을 구현할 때 한번 로그인을 하면 같은 브라우저 안에 있는 탭끼리는 로그인 상태를 유지시키고 싶은데 리프레쉬 토큰과 엑세스 토큰을 어디에 저장하고 어떻게 관리해야 되는지 궁급합니다.

  • JPA
  • spring
  • java
  • 웹앱
  • spring-boot
박정훈 댓글 1 좋아요 0 조회수 1780

컬렉션 둘 이상에 페치 조인

미해결

실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화

안녕하세요. 강의 마지막에 컬렉션 페치 조인을 둘 이상 사용하지 말라고 하셨는데, 관련하여 질문드립니다. 말씀하신 상황이 제가 생각한 항목 중 어떤것이 맞을까요? 1 : N : N Team(1) : Member(N) : Order(N) 1 : N / 1 : N Post(1) : Comment(N) Post(1) : Attachment(N) 감사합니다.

  • spring
  • JPA
  • java
  • spring-boot
김동준 댓글 1 좋아요 2 조회수 494

생성 메서드와 연관관계 주인 질문드립니다.

해결됨

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예 [질문 내용] public static OrderItem createOrderItem(Item item,int orderPrice, int count) 강의 중 생성메서드를 구현하는 부분 중 OrderItem 생성메서드를 생성할때 파라미터로 Order order를 추가하지 않은 것에 대한 이유가 궁금하여 질문드립니다. OrderItem 엔티티에서 order필드가 연관관계의 주인이기에 null이 되면 안된다 생각하였고 그렇기에 생성메서드 파라미터에도 Order order를 꼭 넣어줘야 하는게 아닌지 궁금점이 들어 질문드립니다!! 감사드립니다!

  • spring
  • spring-boot
  • 웹앱
  • JPA
  • java
인프런 댓글 1 좋아요 1 조회수 413

Spring Authorization Server 1.0 관련

해결됨

스프링 시큐리티 OAuth2

https://spring.io/projects/spring-authorization-server Spring Authorization Server 1.0이 정식으로 출시되었고 강의는 만들어진 시간으로 보아 0.31 기반인거 같은데 1.0(0.4)에 대한 보강 계획은 있으신지요?

  • spring-boot
  • java
  • oauth
  • spring
신석균 댓글 1 좋아요 1 조회수 365

@BatchSize의 조회 대상 우선순위(?)

미해결

실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화

[질문 내용] 안녕하세요 강의 너무 잘 듣고 있습니다. @BatchSize에 관해서 의문점이 생겨서 질문을 드리게 되었습니다. @BatchSize를 사용하면 특정 Entity에서 조회 쿼리가 필요한 필드를 초기화 할 때, 1차 캐시로부터 같은 종류의 Entity id값을 @BatchSize에 지정한 size값만큼 가져와 IN에 넣어서 필요한 데이터를 함께 조회하고 초기화하는 것으로 이해했습니다. 근데, 이 때 단순히 1차 캐시에서 랜덤으로 id값을 가져와서 IN에 넣으면 원하지 않는 Entity에 초기화가 잘못 이뤄질 수 있지 않을까 하는 의문이 있었지만, 당연하게도 이런 부분에 대해서는 알아서 최적화를 해 둔 것 같았습니다. 예를 들면 JPQL의 결과로 조회된 Entity컬렉션 내부에서 하나를 집어 Entity 필드를 지연 로딩 초기화할 경우 같은 컬렉션 내부의 Entity들이 우선순위를 갖고 함께 초기화되는 것 같았습니다. 하지만 이것이 정확히 어떤 원리로 동작하는 지는 알 수가 없었습니다..ㅠㅠ JPQL로 조회한 컬렉션에 대해서 따로 영속성 컨텍스트가 참조하고 있다거나 하는 식으로 동작하는 것일까요? 이런 원리를 모르다 보니 @BatchSize가 IN에 넣을 Entity를 결정하는 우선순위를 알 수가 없었습니다. @BatchSize의 size값이 JPQL로 조회한 컬렉션의 size보다 클 때에는 1차 캐시에서 부족한 만큼의 Entity id를 더 끌어와서 IN에 추가하는데, 이 때 함께 초기화될 Entity가 어떤 Entity일 지 예측이 안 됩니다. 이런 것들도 우선순위가 따로 존재하나요? 크게 중요한 내용은 아닌 것 같은데, 그냥 같은 컬렉션에 있는 Entity들이 IN의 우선순위가 된다고 이해하고 사용하는 정도면 문제가 없을 지 궁금합니다..!

  • spring-boot
  • JPA
  • java
  • spring
공부용 댓글 1 좋아요 0 조회수 371

OAuth2 로그인 구현 - Authorization Code 요청하기 - OAuth2AuthorizationRequest 객체 세션 저장 문제

미해결

스프링 시큐리티 OAuth2

안녕하세요! 좋은 강의 너무 감사드립니다! 한가지 질문 드릴께 있습니다. OAuth2 로그인 구현 - Authorization Code 요청하기 26:25분 내용을 보면 첫번째 인증 단계! (response type = code) OAuth2AuthorizationRequest 객체 담아서 인가 서버 (keyclack 서버) 에 전달 하게 되는데요 이것과 동시에 OAuth2AuthorizationRequest 객체를 sesstion 에 저장을 하게 됩니다. 그러면 사용자는 인가 서버 (keyclack 서버) 로그인을 성공적으로 해결된다면 미리 지정된 redirect url 통해 Authorization Code 값을 전달해주는데요! 그런 후 미리 OAuth2AuthorizationRequest 객체를 sesstion 저장된것을 가져오는데 만약 해당 서버가 1개 라서 다행이지만 scale out 경우 그러니깐 서버가 2대 이상이라면 맨처음 OAuth2AuthorizationRequest 객체 저장할때가 1번 서버라면 OAuth2AuthorizationRequest 객체를 가져올때가 2번 서버라면 이때 각각 다른 서버이기 때문에 가져오지 못하는 문제가 발생되지 않나요? 이때는 어떻게 해결해야 할까요??.. OAuth2AuthorizationRequest 객체를 외부 세션 서버로 저장 할수 있도록 다시 로직을 재구현 해야 하는걸까요?

  • spring
  • oauth
  • spring-boot
  • java
리나 댓글 1 좋아요 1 조회수 913

인기 태그

인프런 TOP Writers

주간 인기글