학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 안녕하세요. 강의 듣다가 질문 사항이 있어 글 남깁니다. 위 코드는 회원 가입을 하고, 그 결과를 보여주는 servlet 클래스입니다. @WebServlet(name = "mvcMemberSaveServlet", urlPatterns = "/servlet-mvc/members/save") public class MvcMemberSaveServlet extends HttpServlet { private MemberRepository memberRepository = MemberRepository.getInstance(); @Override protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String username = request.getParameter("username"); int age = Integer.parseInt(request.getParameter("age")); Member member = new Member(username, age); memberRepository.save(member); // Model에 데이터 보관 request.setAttribute("member", member); String viewPath = "/WEB-INF/views/save-result.jsp"; RequestDispatcher dispatcher = request.getRequestDispatcher(viewPath); dispatcher.forward(request, response); } } 저는 request 객체를 통해 회원 정보(이름, 나이)가 서버에 전달됨. 해당 정보를 통해 비즈니스 로직(회원가입)이 실행됨. response 객체를 통해 실제 회원 가입된 정보(Member 객체)를 view(jsp)에 전달. jsp가 전달 받은 정보를 참고하여 jsp 작성을 완료하여 클라이언트에게 화면을 보여줌. 이런 로직으로 진행될 것으로 생각했습니다. 그런데 제 생각과는 다르게, jsp에 데이터를 전달하는 model의 역할을 response 객체가 아닌 request 객체가 하는지 궁금증이 생겼습니다. 제가 추측하기로는 dispatcher를 통해 서버 내부에서 jsp를 호출하는 과정이 추가적으로 진행되기 때문에, 그 호출 과정에서 request 객체가 사용되는 것 같은데, 제 추측이 맞는지, 틀렸다면 request 객체가 model 역할을 하는 것은 어떤 이유 때문인지 질문 드립니다. 감사합니다.
안녕하세요. 강사님께서 강의에서 HistoryListView 클래스를 작성하실 때 KeywordListView를 상속 받아서 작성하셨는데요. 실무에서도 이와 같이 비슷한(동일한 수준의) 클래스 중 하나를 먼저 구현하고 이를 상속 받아 다른 클래스를 만드는 경우가 흔히 있나요? 저는 아래와 같이 공통의 기능을 갖고 있는 또 다른 클래스 (ex. ListView)를 만들고, 각 클래스들(ex. KeywordListView, HistoryListView)이 이 공통의 클래스를 상속받는 것이 좋을 것이라고 생각했었거든요. KeywordListView -> ListView -> View HistoryListView -> ListView -> View 강사님께서 사용하신 방법 대로 하면 기존의 코드를 최대한 활용할 수 있다는 장점은 있지만 서로 동일한 수준의 클래스가 서로 상속을 받게 되는 것 같아서요.
========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] cmd창에서 dir입력하고 gradle은 있는데 gradlew는 나오지 않네요... C드라이브 안에 study 폴더가 있고, 그안에 hello spring이 있는 상태인데 어느 부분에서 잘못한 것일까요? ㅠㅠ
RequestMappingHandlerMapping이 SpringMemberFormControllerV1에 @Controller가 붙어있는 것을 보고 , 핸들러 매핑 결과로 SpringMemberFormControllerV1를 반환할 수 있게 된다고 이해하였는데, 맞을까요?
프로젝트 생성을 했는데 IntellJ에서 안됩니다.. 강의랑 똑같이 들어가서 만들었구요 어플리케이션실행자체가 안되고 아래처럼 오류가 나요.. 자바8을 원래 썼어서 설정에서 JDK11로 다시 실행해도 똑같아요 A problem occurred configuring root project 'servlet'. > Could not resolve all files for configuration ':classpath'. > Could not resolve org.springframework.boot:spring-boot-gradle-plugin:3.0.1. Required by: project : > org.springframework.boot:org.springframework.boot.gradle.plugin:3.0.1 > No matching variant of org.springframework.boot:spring-boot-gradle-plugin:3.0.1 was found. The consumer was configured to find a runtime of a library compatible with Java 8, packaged as a jar, and its dependencies declared externally, as well as attribute 'org.gradle.plugin.api-version' with value '7.6' but: - Variant 'apiElements' capability org.springframework.boot:spring-boot-gradle-plugin:3.0.1 declares a library, packaged as a jar, and its dependencies declared externally: - Incompatible because this component declares an API of a component compatible with Java 17 and the consumer needed a runtime of a component compatible with Java 8 - Other compatible attribute: - Doesn't say anything about org.gradle.plugin.api-version (required '7.6') - Variant 'javadocElements' capability org.springframework.boot:spring-boot-gradle-plugin:3.0.1 declares a runtime of a component, and its dependencies declared externally: - Incompatible because this component declares documentation and the consumer needed a library - Other compatible attributes: - Doesn't say anything about its target Java version (required compatibility with Java 8) - Doesn't say anything about its elements (required them packaged as a jar) - Doesn't say anything about org.gradle.plugin.api-version (required '7.6') - Variant 'mavenOptionalApiElements' capability org.springframework.boot:spring-boot-gradle-plugin-maven-optional:3.0.1 declares a library, packaged as a jar, and its dependencies declared externally: - Incompatible because this component declares an API of a component compatible with Java 17 and the consumer needed a runtime of a component compatible with Java 8 - Other compatible attribute: - Doesn't say anything about org.gradle.plugin.api-version (required '7.6') - Variant 'mavenOptionalRuntimeElements' capability org.springframework.boot:spring-boot-gradle-plugin-maven-optional:3.0.1 declares a runtime of a library, packaged as a jar, and its dependencies declared externally: - Incompatible because this component declares a component compatible with Java 17 and the consumer needed a component compatible with Java 8 - Other compatible attribute: - Doesn't say anything about org.gradle.plugin.api-version (required '7.6') - Variant 'runtimeElements' capability org.springframework.boot:spring-boot-gradle-plugin:3.0.1 declares a runtime of a library, packaged as a jar, and its dependencies declared externally: - Incompatible because this component declares a component compatible with Java 17 and the consumer needed a component compatible with Java 8 - Other compatible attribute: - Doesn't say anything about org.gradle.plugin.api-version (required '7.6') - Variant 'sourcesElements' capability org.springframework.boot:spring-boot-gradle-plugin:3.0.1 declares a runtime of a component, and its dependencies declared externally: - Incompatible because this component declares documentation and the consumer needed a library - Other compatible attributes: - Doesn't say anything about its target Java version (required compatibility with Java 8) - Doesn't say anything about its elements (required them packaged as a jar) - Doesn't say anything about org.gradle.plugin.api-version (required '7.6') * 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 'servlet'. at org.gradle.configuration.project.LifecycleProjectEvaluator.wrapException( LifecycleProjectEvaluator.java:84 ) at org.gradle.configuration.project.LifecycleProjectEvaluator.addConfigurationFailure( LifecycleProjectEvaluator.java:77 ) at org.gradle.configuration.project.LifecycleProjectEvaluator.access$400( LifecycleProjectEvaluator.java:55 ) at org.gradle.configuration.project.LifecycleProjectEvaluator$EvaluateProject.lambda$run$0( LifecycleProjectEvaluator.java:111 ) at org.gradle.api.internal.project.DefaultProjectStateRegistry$ProjectStateImpl.lambda$applyToMutableState$0( DefaultProjectStateRegistry.java:360 ) at org.gradle.api.internal.project.DefaultProjectStateRegistry$ProjectStateImpl.lambda$fromMutableState$1( DefaultProjectStateRegistry.java:383 ) at org.gradle.internal.work .DefaultWorkerLeaseService.withReplacedLocks( DefaultWorkerLeaseService.java:345 ) at org.gradle.api.internal.project.DefaultProjectStateRegistry$ProjectStateImpl.fromMutableState( DefaultProjectStateRegistry.java:383 ) at org.gradle.api.internal.project.DefaultProjectStateRegistry$ProjectStateImpl.applyToMutableState( DefaultProjectStateRegistry.java:359 ) at org.gradle.configuration.project.LifecycleProjectEvaluator$EvaluateProject.run( LifecycleProjectEvaluator.java:100 ) 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$2.execute( DefaultBuildOperationRunner.java:66 ) at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute( DefaultBuildOperationRunner.java:59 ) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute( DefaultBuildOperationRunner.java:157 ) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute( DefaultBuildOperationRunner.java:59 ) at org.gradle.internal.operations.DefaultBuildOperationRunner.run ( DefaultBuildOperationRunner.java:47 ) at org.gradle.internal.operations.DefaultBuildOperationExecutor.run ( DefaultBuildOperationExecutor.java:68 ) at org.gradle.configuration.project.LifecycleProjectEvaluator.evaluate( LifecycleProjectEvaluator.java:72 ) at org.gradle.api.internal.project.DefaultProject.evaluate( DefaultProject.java:762 ) at org.gradle.api.internal.project.DefaultProject.evaluate( DefaultProject.java:153 ) at org.gradle.api.internal.project.ProjectLifecycleController.lambda$ensureSelfConfigured$1( ProjectLifecycleController.java:63 ) at org.gradle.internal.model.StateTransitionController.lambda$doTransition$12( StateTransitionController.java:236 ) at org.gradle.internal.model.StateTransitionController.doTransition( StateTransitionController.java:247 ) at org.gradle.internal.model.StateTransitionController.doTransition( StateTransitionController.java:235 ) at org.gradle.internal.model.StateTransitionController.lambda$maybeTransitionIfNotCurrentlyTransitioning$9( StateTransitionController.java:196 ) at org.gradle.internal.work .DefaultSynchronizer.withLock( DefaultSynchronizer.java:34 ) at org.gradle.internal.model.StateTransitionController.maybeTransitionIfNotCurrentlyTransitioning( StateTransitionController.java:192 ) at org.gradle.api.internal.project.ProjectLifecycleController.ensureSelfConfigured( ProjectLifecycleController.java:63 ) at org.gradle.api.internal.project.DefaultProjectStateRegistry$ProjectStateImpl.ensureConfigured( DefaultProjectStateRegistry.java:334 ) at org.gradle.execution.TaskPathProjectEvaluator.configure( TaskPathProjectEvaluator.java:33 ) at org.gradle.execution.TaskPathProjectEvaluator.configureHierarchy( TaskPathProjectEvaluator.java:47 ) at org.gradle.configuration.DefaultProjectsPreparer.prepareProjects( DefaultProjectsPreparer.java:50 ) at org.gradle.configuration.BuildTreePreparingProjectsPreparer.prepareProjects( BuildTreePreparingProjectsPreparer.java:64 ) 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$2.execute( DefaultBuildOperationRunner.java:66 ) at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute( DefaultBuildOperationRunner.java:59 ) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute( DefaultBuildOperationRunner.java:157 ) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute( DefaultBuildOperationRunner.java:59 ) at org.gradle.internal.operations.DefaultBuildOperationRunner.run ( DefaultBuildOperationRunner.java:47 ) at org.gradle.internal.operations.DefaultBuildOperationExecutor.run ( DefaultBuildOperationExecutor.java:68 ) at org.gradle.configuration.BuildOperationFiringProjectsPreparer.prepareProjects( BuildOperationFiringProjectsPreparer.java:40 ) at org.gradle.initialization.VintageBuildModelController.lambda$prepareProjects$2( VintageBuildModelController.java:84 ) at org.gradle.internal.model.StateTransitionController.lambda$doTransition$12( StateTransitionController.java:236 ) at org.gradle.internal.model.StateTransitionController.doTransition( StateTransitionController.java:247 ) at org.gradle.internal.model.StateTransitionController.doTransition( StateTransitionController.java:235 ) at org.gradle.internal.model.StateTransitionController.lambda$transitionIfNotPreviously$10( StateTransitionController.java:210 ) at org.gradle.internal.work .DefaultSynchronizer.withLock( DefaultSynchronizer.java:34 ) at org.gradle.internal.model.StateTransitionController.transitionIfNotPreviously( StateTransitionController.java:206 ) at org.gradle.initialization.VintageBuildModelController.prepareProjects( VintageBuildModelController.java:84 ) at org.gradle.initialization.VintageBuildModelController.getConfiguredModel( VintageBuildModelController.java:64 ) at org.gradle.internal.build .DefaultBuildLifecycleController.lambda$withProjectsConfigured$1( DefaultBuildLifecycleController.java:116 ) at org.gradle.internal.model.StateTransitionController.lambda$notInState$3( StateTransitionController.java:143 ) at org.gradle.internal.work .DefaultSynchronizer.withLock( DefaultSynchronizer.java:44 ) at org.gradle.internal.model.StateTransitionController.notInState( StateTransitionController.java:139 ) at org.gradle.internal.build .DefaultBuildLifecycleController.withProjectsConfigured( DefaultBuildLifecycleController.java:116 ) at org.gradle.internal.build .DefaultBuildToolingModelController.locateBuilderForTarget( DefaultBuildToolingModelController.java:57 ) at org.gradle.internal.buildtree.DefaultBuildTreeModelCreator$DefaultBuildTreeModelController.lambda$locateBuilderForTarget$0( DefaultBuildTreeModelCreator.java:73 ) at org.gradle.internal.build .DefaultBuildLifecycleController.withToolingModels( DefaultBuildLifecycleController.java:180 ) at org.gradle.internal.build .AbstractBuildState.withToolingModels( AbstractBuildState.java:123 ) at org.gradle.internal.buildtree.DefaultBuildTreeModelCreator$DefaultBuildTreeModelController.locateBuilderForTarget( DefaultBuildTreeModelCreator.java:73 ) at org.gradle.internal.buildtree.DefaultBuildTreeModelCreator$DefaultBuildTreeModelController.locateBuilderForDefaultTarget( DefaultBuildTreeModelCreator.java:68 ) at org.gradle.tooling.internal.provider.runner.DefaultBuildController.getTarget( DefaultBuildController.java:157 ) at org.gradle.tooling.internal.provider.runner.DefaultBuildController.getModel( DefaultBuildController.java:101 ) at org.gradle.tooling.internal.consumer.connection.ParameterAwareBuildControllerAdapter.getModel( ParameterAwareBuildControllerAdapter.java:39 ) at org.gradle.tooling.internal.consumer.connection.UnparameterizedBuildController.getModel( UnparameterizedBuildController.java:113 ) at org.gradle.tooling.internal.consumer.connection.NestedActionAwareBuildControllerAdapter.getModel( NestedActionAwareBuildControllerAdapter.java:31 ) at org.gradle.tooling.internal.consumer.connection.UnparameterizedBuildController.findModel( UnparameterizedBuildController.java:97 ) at org.gradle.tooling.internal.consumer.connection.NestedActionAwareBuildControllerAdapter.findModel( NestedActionAwareBuildControllerAdapter.java:31 ) at org.gradle.tooling.internal.consumer.connection.UnparameterizedBuildController.findModel( UnparameterizedBuildController.java:81 ) at org.gradle.tooling.internal.consumer.connection.NestedActionAwareBuildControllerAdapter.findModel( NestedActionAwareBuildControllerAdapter.java:31 ) at org.gradle.tooling.internal.consumer.connection.UnparameterizedBuildController.findModel( UnparameterizedBuildController.java:66 ) at org.gradle.tooling.internal.consumer.connection.NestedActionAwareBuildControllerAdapter.findModel( NestedActionAwareBuildControllerAdapter.java:31 ) at org.jetbrains.plugins.gradle.model.ProjectImportAction.execute( ProjectImportAction.java:125 ) at org.jetbrains.plugins.gradle.model.ProjectImportAction.execute( ProjectImportAction.java:42 ) at org.gradle.tooling.internal.consumer.connection.InternalBuildActionAdapter.execute( InternalBuildActionAdapter.java:64 ) at org.gradle.tooling.internal.provider.runner.AbstractClientProvidedBuildActionRunner$ActionAdapter.runAction( AbstractClientProvidedBuildActionRunner.java:131 ) at org.gradle.tooling.internal.provider.runner.AbstractClientProvidedBuildActionRunner$ActionAdapter.beforeTasks( AbstractClientProvidedBuildActionRunner.java:99 ) at org.gradle.internal.buildtree.DefaultBuildTreeModelCreator.beforeTasks( DefaultBuildTreeModelCreator.java:52 ) at org.gradle.internal.buildtree.DefaultBuildTreeLifecycleController.lambda$fromBuildModel$2( DefaultBuildTreeLifecycleController.java:82 ) at org.gradle.internal.buildtree.DefaultBuildTreeLifecycleController.lambda$runBuild$5( DefaultBuildTreeLifecycleController.java:113 ) at org.gradle.internal.model.StateTransitionController.lambda$transition$5( StateTransitionController.java:166 ) at org.gradle.internal.model.StateTransitionController.doTransition( StateTransitionController.java:247 ) at org.gradle.internal.model.StateTransitionController.lambda$transition$6( StateTransitionController.java:166 ) at org.gradle.internal.work .DefaultSynchronizer.withLock( DefaultSynchronizer.java:44 ) at org.gradle.internal.model.StateTransitionController.transition( StateTransitionController.java:166 ) at org.gradle.internal.buildtree.DefaultBuildTreeLifecycleController.runBuild( DefaultBuildTreeLifecycleController.java:110 ) at org.gradle.internal.buildtree.DefaultBuildTreeLifecycleController.fromBuildModel( DefaultBuildTreeLifecycleController.java:81 ) at org.gradle.tooling.internal.provider.runner.AbstractClientProvidedBuildActionRunner.runClientAction( AbstractClientProvidedBuildActionRunner.java:43 ) at org.gradle.tooling.internal.provider.runner.ClientProvidedPhasedActionRunner.run ( ClientProvidedPhasedActionRunner.java:53 ) at org.gradle.launcher.exec.ChainingBuildActionRunner.run ( ChainingBuildActionRunner.java:35 ) at org.gradle.internal.buildtree.ProblemReportingBuildActionRunner.run ( ProblemReportingBuildActionRunner.java:49 ) at org.gradle.launcher.exec.BuildOutcomeReportingBuildActionRunner.run ( BuildOutcomeReportingBuildActionRunner.java:65 ) at org.gradle.tooling.internal.provider.FileSystemWatchingBuildActionRunner.run ( FileSystemWatchingBuildActionRunner.java:136 ) at org.gradle.launcher.exec.BuildCompletionNotifyingBuildActionRunner.run ( BuildCompletionNotifyingBuildActionRunner.java:41 ) at org.gradle.launcher.exec.RootBuildLifecycleBuildActionExecutor.lambda$execute$0( RootBuildLifecycleBuildActionExecutor.java:40 ) at org.gradle.composite.internal.DefaultRootBuildState.run ( DefaultRootBuildState.java:122 ) at org.gradle.launcher.exec.RootBuildLifecycleBuildActionExecutor.execute( RootBuildLifecycleBuildActionExecutor.java:40 ) at org.gradle.internal.buildtree.DefaultBuildTreeContext.execute( DefaultBuildTreeContext.java:40 ) at org.gradle.launcher.exec.BuildTreeLifecycleBuildActionExecutor.lambda$execute$0( BuildTreeLifecycleBuildActionExecutor.java:65 ) at org.gradle.internal.buildtree.BuildTreeState.run ( BuildTreeState.java:53 ) at org.gradle.launcher.exec.BuildTreeLifecycleBuildActionExecutor.execute( BuildTreeLifecycleBuildActionExecutor.java:65 ) at org.gradle.launcher.exec.RunAsBuildOperationBuildActionExecutor$3.call( RunAsBuildOperationBuildActionExecutor.java:61 ) at org.gradle.launcher.exec.RunAsBuildOperationBuildActionExecutor$3.call( RunAsBuildOperationBuildActionExecutor.java:57 ) at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute( DefaultBuildOperationRunner.java:204 ) at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute( DefaultBuildOperationRunner.java:199 ) at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute( DefaultBuildOperationRunner.java:66 ) at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute( DefaultBuildOperationRunner.java:59 ) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute( DefaultBuildOperationRunner.java:157 ) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute( DefaultBuildOperationRunner.java:59 ) at org.gradle.internal.operations.DefaultBuildOperationRunner.call ( DefaultBuildOperationRunner.java:53 ) at org.gradle.internal.operations.DefaultBuildOperationExecutor.call ( DefaultBuildOperationExecutor.java:73 ) at org.gradle.launcher.exec.RunAsBuildOperationBuildActionExecutor.execute( RunAsBuildOperationBuildActionExecutor.java:57 ) at org.gradle.launcher.exec.RunAsWorkerThreadBuildActionExecutor.lambda$execute$0( RunAsWorkerThreadBuildActionExecutor.java:36 ) at org.gradle.internal.work .DefaultWorkerLeaseService.withLocks( DefaultWorkerLeaseService.java:249 ) at org.gradle.internal.work .DefaultWorkerLeaseService.runAsWorkerThread( DefaultWorkerLeaseService.java:109 ) at org.gradle.launcher.exec.RunAsWorkerThreadBuildActionExecutor.execute( RunAsWorkerThreadBuildActionExecutor.java:36 ) at org.gradle.tooling.internal.provider.continuous.ContinuousBuildActionExecutor.execute( ContinuousBuildActionExecutor.java:110 ) at org.gradle.tooling.internal.provider.SubscribableBuildActionExecutor.execute( SubscribableBuildActionExecutor.java:64 ) at org.gradle.internal.session.DefaultBuildSessionContext.execute( DefaultBuildSessionContext.java:46 ) at org.gradle.tooling.internal.provider.BuildSessionLifecycleBuildActionExecuter$ActionImpl.apply( BuildSessionLifecycleBuildActionExecuter.java:100 ) at org.gradle.tooling.internal.provider.BuildSessionLifecycleBuildActionExecuter$ActionImpl.apply( BuildSessionLifecycleBuildActionExecuter.java:88 ) at org.gradle.internal.session.BuildSessionState.run ( BuildSessionState.java:69 ) at org.gradle.tooling.internal.provider.BuildSessionLifecycleBuildActionExecuter.execute( BuildSessionLifecycleBuildActionExecuter.java:62 ) at org.gradle.tooling.internal.provider.BuildSessionLifecycleBuildActionExecuter.execute( BuildSessionLifecycleBuildActionExecuter.java:41 ) at org.gradle.tooling.internal.provider.StartParamsValidatingActionExecuter.execute( StartParamsValidatingActionExecuter.java:63 ) at org.gradle.tooling.internal.provider.StartParamsValidatingActionExecuter.execute( StartParamsValidatingActionExecuter.java:31 ) at org.gradle.tooling.internal.provider.SessionFailureReportingActionExecuter.execute( SessionFailureReportingActionExecuter.java:52 ) at org.gradle.tooling.internal.provider.SessionFailureReportingActionExecuter.execute( SessionFailureReportingActionExecuter.java:40 ) 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.internal.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:49 ) Caused by: org.gradle.api.internal.artifacts.ivyservice.DefaultLenientConfiguration$ArtifactResolveException: Could not resolve all files for configuration ':classpath'. at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration.mapFailure( DefaultConfiguration.java:1531 ) at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration.access$3800( DefaultConfiguration.java:159 ) at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration$DefaultResolutionHost.mapFailure( DefaultConfiguration.java:2183 ) at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration$DefaultResolutionHost.rethrowFailure( DefaultConfiguration.java:2188 ) at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration$ConfigurationFileCollection.visitContents( DefaultConfiguration.java:1499 ) at org.gradle.api.internal.file.AbstractFileCollection.getFiles( AbstractFileCollection.java:129 ) at org.gradle.api.internal.file.AbstractFileCollection.iterator( AbstractFileCollection.java:175 ) at org.gradle.internal.classpath.DefaultClassPath.of( DefaultClassPath.java:56 ) at org.gradle.api.internal.initialization.DefaultScriptClassPathResolver.resolveClassPath( DefaultScriptClassPathResolver.java:51 ) at org.gradle.api.internal.initialization.DefaultScriptHandler.getNonInstrumentedScriptClassPath( DefaultScriptHandler.java:96 ) at org.gradle.plugin.use.internal.DefaultPluginRequestApplicator.defineScriptHandlerClassScope( DefaultPluginRequestApplicator.java:177 ) at org.gradle.plugin.use.internal.DefaultPluginRequestApplicator.applyPlugins( DefaultPluginRequestApplicator.java:142 ) 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$2.execute( DefaultBuildOperationRunner.java:66 ) at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute( DefaultBuildOperationRunner.java:59 ) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute( DefaultBuildOperationRunner.java:157 ) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute( DefaultBuildOperationRunner.java:59 ) at org.gradle.internal.operations.DefaultBuildOperationRunner.run ( DefaultBuildOperationRunner.java:47 ) at org.gradle.internal.operations.DefaultBuildOperationExecutor.run ( DefaultBuildOperationExecutor.java:68 ) at org.gradle.configuration.BuildOperationScriptPlugin.lambda$apply$0( BuildOperationScriptPlugin.java:62 ) at org.gradle.configuration.internal.DefaultUserCodeApplicationContext.apply( DefaultUserCodeApplicationContext.java:44 ) at org.gradle.configuration.BuildOperationScriptPlugin.apply( BuildOperationScriptPlugin.java:62 ) at org.gradle.api.internal.project.DefaultProjectStateRegistry$ProjectStateImpl.lambda$applyToMutableState$0( DefaultProjectStateRegistry.java:360 ) at org.gradle.api.internal.project.DefaultProjectStateRegistry$ProjectStateImpl.fromMutableState( DefaultProjectStateRegistry.java:378 ) at org.gradle.api.internal.project.DefaultProjectStateRegistry$ProjectStateImpl.applyToMutableState( DefaultProjectStateRegistry.java:359 ) 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:109 ) at org.gradle.api.internal.project.DefaultProjectStateRegistry$ProjectStateImpl.lambda$applyToMutableState$0( DefaultProjectStateRegistry.java:360 ) at org.gradle.api.internal.project.DefaultProjectStateRegistry$ProjectStateImpl.lambda$fromMutableState$1( DefaultProjectStateRegistry.java:383 ) at org.gradle.internal.work .DefaultWorkerLeaseService.withReplacedLocks( DefaultWorkerLeaseService.java:345 ) at org.gradle.api.internal.project.DefaultProjectStateRegistry$ProjectStateImpl.fromMutableState( DefaultProjectStateRegistry.java:383 ) at org.gradle.api.internal.project.DefaultProjectStateRegistry$ProjectStateImpl.applyToMutableState( DefaultProjectStateRegistry.java:359 ) at org.gradle.configuration.project.LifecycleProjectEvaluator$EvaluateProject.run( LifecycleProjectEvaluator.java:100 ) 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$2.execute( DefaultBuildOperationRunner.java:66 ) at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute( DefaultBuildOperationRunner.java:59 ) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute( DefaultBuildOperationRunner.java:157 ) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute( DefaultBuildOperationRunner.java:59 ) at org.gradle.internal.operations.DefaultBuildOperationRunner.run ( DefaultBuildOperationRunner.java:47 ) at org.gradle.internal.operations.DefaultBuildOperationExecutor.run ( DefaultBuildOperationExecutor.java:68 ) at org.gradle.configuration.project.LifecycleProjectEvaluator.evaluate( LifecycleProjectEvaluator.java:72 ) at org.gradle.api.internal.project.DefaultProject.evaluate( DefaultProject.java:762 ) at org.gradle.api.internal.project.DefaultProject.evaluate( DefaultProject.java:153 ) at org.gradle.api.internal.project.ProjectLifecycleController.lambda$ensureSelfConfigured$1( ProjectLifecycleController.java:63 ) at org.gradle.internal.model.StateTransitionController.lambda$doTransition$12( StateTransitionController.java:236 ) at org.gradle.internal.model.StateTransitionController.doTransition( StateTransitionController.java:247 ) at org.gradle.internal.model.StateTransitionController.doTransition( StateTransitionController.java:235 ) at org.gradle.internal.model.StateTransitionController.lambda$maybeTransitionIfNotCurrentlyTransitioning$9( StateTransitionController.java:196 ) at org.gradle.internal.work .DefaultSynchronizer.withLock( DefaultSynchronizer.java:34 ) at org.gradle.internal.model.StateTransitionController.maybeTransitionIfNotCurrentlyTransitioning( StateTransitionController.java:192 ) at org.gradle.api.internal.project.ProjectLifecycleController.ensureSelfConfigured( ProjectLifecycleController.java:63 ) at org.gradle.api.internal.project.DefaultProjectStateRegistry$ProjectStateImpl.ensureConfigured( DefaultProjectStateRegistry.java:334 ) at org.gradle.execution.TaskPathProjectEvaluator.configure( TaskPathProjectEvaluator.java:33 ) at org.gradle.execution.TaskPathProjectEvaluator.configureHierarchy( TaskPathProjectEvaluator.java:47 ) at org.gradle.configuration.DefaultProjectsPreparer.prepareProjects( DefaultProjectsPreparer.java:50 ) at org.gradle.configuration.BuildTreePreparingProjectsPreparer.prepareProjects( BuildTreePreparingProjectsPreparer.java:64 ) 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$2.execute( DefaultBuildOperationRunner.java:66 ) at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute( DefaultBuildOperationRunner.java:59 ) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute( DefaultBuildOperationRunner.java:157 ) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute( DefaultBuildOperationRunner.java:59 ) at org.gradle.internal.operations.DefaultBuildOperationRunner.run ( DefaultBuildOperationRunner.java:47 ) at org.gradle.internal.operations.DefaultBuildOperationExecutor.run ( DefaultBuildOperationExecutor.java:68 ) at org.gradle.configuration.BuildOperationFiringProjectsPreparer.prepareProjects( BuildOperationFiringProjectsPreparer.java:40 ) at org.gradle.initialization.VintageBuildModelController.lambda$prepareProjects$2( VintageBuildModelController.java:84 ) at org.gradle.internal.model.StateTransitionController.lambda$doTransition$12( StateTransitionController.java:236 ) at org.gradle.internal.model.StateTransitionController.doTransition( StateTransitionController.java:247 ) at org.gradle.internal.model.StateTransitionController.doTransition( StateTransitionController.java:235 ) at org.gradle.internal.model.StateTransitionController.lambda$transitionIfNotPreviously$10( StateTransitionController.java:210 ) at org.gradle.internal.work .DefaultSynchronizer.withLock( DefaultSynchronizer.java:34 ) at org.gradle.internal.model.StateTransitionController.transitionIfNotPreviously( StateTransitionController.java:206 ) at org.gradle.initialization.VintageBuildModelController.prepareProjects( VintageBuildModelController.java:84 ) at org.gradle.initialization.VintageBuildModelController.getConfiguredModel( VintageBuildModelController.java:64 ) at org.gradle.internal.build .DefaultBuildLifecycleController.lambda$withProjectsConfigured$1( DefaultBuildLifecycleController.java:116 ) at org.gradle.internal.model.StateTransitionController.lambda$notInState$3( StateTransitionController.java:143 ) at org.gradle.internal.work .DefaultSynchronizer.withLock( DefaultSynchronizer.java:44 ) at org.gradle.internal.model.StateTransitionController.notInState( StateTransitionController.java:139 ) at org.gradle.internal.build .DefaultBuildLifecycleController.withProjectsConfigured( DefaultBuildLifecycleController.java:116 ) at org.gradle.internal.build .DefaultBuildToolingModelController.locateBuilderForTarget( DefaultBuildToolingModelController.java:57 ) at org.gradle.internal.buildtree.DefaultBuildTreeModelCreator$DefaultBuildTreeModelController.lambda$locateBuilderForTarget$0( DefaultBuildTreeModelCreator.java:73 ) at org.gradle.internal.build .DefaultBuildLifecycleController.withToolingModels( DefaultBuildLifecycleController.java:180 ) at org.gradle.internal.build .AbstractBuildState.withToolingModels( AbstractBuildState.java:123 ) at org.gradle.internal.buildtree.DefaultBuildTreeModelCreator$DefaultBuildTreeModelController.locateBuilderForTarget( DefaultBuildTreeModelCreator.java:73 ) at org.gradle.internal.buildtree.DefaultBuildTreeModelCreator$DefaultBuildTreeModelController.locateBuilderForDefaultTarget( DefaultBuildTreeModelCreator.java:68 ) at org.gradle.tooling.internal.provider.runner.DefaultBuildController.getTarget( DefaultBuildController.java:157 ) at org.gradle.tooling.internal.provider.runner.DefaultBuildController.getModel( DefaultBuildController.java:101 ) at org.gradle.tooling.internal.consumer.connection.ParameterAwareBuildControllerAdapter.getModel( ParameterAwareBuildControllerAdapter.java:39 ) at org.gradle.tooling.internal.consumer.connection.UnparameterizedBuildController.getModel( UnparameterizedBuildController.java:113 ) at org.gradle.tooling.internal.consumer.connection.NestedActionAwareBuildControllerAdapter.getModel( NestedActionAwareBuildControllerAdapter.java:31 ) at org.gradle.tooling.internal.consumer.connection.UnparameterizedBuildController.findModel( UnparameterizedBuildController.java:97 ) at org.gradle.tooling.internal.consumer.connection.NestedActionAwareBuildControllerAdapter.findModel( NestedActionAwareBuildControllerAdapter.java:31 ) at org.gradle.tooling.internal.consumer.connection.UnparameterizedBuildController.findModel( UnparameterizedBuildController.java:81 ) at org.gradle.tooling.internal.consumer.connection.NestedActionAwareBuildControllerAdapter.findModel( NestedActionAwareBuildControllerAdapter.java:31 ) at org.gradle.tooling.internal.consumer.connection.UnparameterizedBuildController.findModel( UnparameterizedBuildController.java:66 ) at org.gradle.tooling.internal.consumer.connection.NestedActionAwareBuildControllerAdapter.findModel( NestedActionAwareBuildControllerAdapter.java:31 ) at org.jetbrains.plugins.gradle.model.ProjectImportAction.execute( ProjectImportAction.java:125 ) at org.jetbrains.plugins.gradle.model.ProjectImportAction.execute( ProjectImportAction.java:42 ) at org.gradle.tooling.internal.consumer.connection.InternalBuildActionAdapter.execute( InternalBuildActionAdapter.java:64 ) at org.gradle.tooling.internal.provider.runner.AbstractClientProvidedBuildActionRunner$ActionAdapter.runAction( AbstractClientProvidedBuildActionRunner.java:131 ) at org.gradle.tooling.internal.provider.runner.AbstractClientProvidedBuildActionRunner$ActionAdapter.beforeTasks( AbstractClientProvidedBuildActionRunner.java:99 ) at org.gradle.internal.buildtree.DefaultBuildTreeModelCreator.beforeTasks( DefaultBuildTreeModelCreator.java:52 ) at org.gradle.internal.buildtree.DefaultBuildTreeLifecycleController.lambda$fromBuildModel$2( DefaultBuildTreeLifecycleController.java:82 ) at org.gradle.internal.buildtree.DefaultBuildTreeLifecycleController.lambda$runBuild$5( DefaultBuildTreeLifecycleController.java:113 ) at org.gradle.internal.model.StateTransitionController.lambda$transition$5( StateTransitionController.java:166 ) at org.gradle.internal.model.StateTransitionController.doTransition( StateTransitionController.java:247 ) at org.gradle.internal.model.StateTransitionController.lambda$transition$6( StateTransitionController.java:166 ) at org.gradle.internal.work .DefaultSynchronizer.withLock( DefaultSynchronizer.java:44 ) at org.gradle.internal.model.StateTransitionController.transition( StateTransitionController.java:166 ) at org.gradle.internal.buildtree.DefaultBuildTreeLifecycleController.runBuild( DefaultBuildTreeLifecycleController.java:110 ) at org.gradle.internal.buildtree.DefaultBuildTreeLifecycleController.fromBuildModel( DefaultBuildTreeLifecycleController.java:81 ) at org.gradle.tooling.internal.provider.runner.AbstractClientProvidedBuildActionRunner.runClientAction( AbstractClientProvidedBuildActionRunner.java:43 ) at org.gradle.tooling.internal.provider.runner.ClientProvidedPhasedActionRunner.run ( ClientProvidedPhasedActionRunner.java:53 ) at org.gradle.launcher.exec.ChainingBuildActionRunner.run ( ChainingBuildActionRunner.java:35 ) at org.gradle.internal.buildtree.ProblemReportingBuildActionRunner.run ( ProblemReportingBuildActionRunner.java:49 ) at org.gradle.launcher.exec.BuildOutcomeReportingBuildActionRunner.run ( BuildOutcomeReportingBuildActionRunner.java:65 ) at org.gradle.tooling.internal.provider.FileSystemWatchingBuildActionRunner.run ( FileSystemWatchingBuildActionRunner.java:136 ) at org.gradle.launcher.exec.BuildCompletionNotifyingBuildActionRunner.run ( BuildCompletionNotifyingBuildActionRunner.java:41 ) at org.gradle.launcher.exec.RootBuildLifecycleBuildActionExecutor.lambda$execute$0( RootBuildLifecycleBuildActionExecutor.java:40 ) at org.gradle.composite.internal.DefaultRootBuildState.run ( DefaultRootBuildState.java:122 ) at org.gradle.launcher.exec.RootBuildLifecycleBuildActionExecutor.execute( RootBuildLifecycleBuildActionExecutor.java:40 ) at org.gradle.internal.buildtree.DefaultBuildTreeContext.execute( DefaultBuildTreeContext.java:40 ) at org.gradle.launcher.exec.BuildTreeLifecycleBuildActionExecutor.lambda$execute$0( BuildTreeLifecycleBuildActionExecutor.java:65 ) at org.gradle.internal.buildtree.BuildTreeState.run ( BuildTreeState.java:53 ) at org.gradle.launcher.exec.BuildTreeLifecycleBuildActionExecutor.execute( BuildTreeLifecycleBuildActionExecutor.java:65 ) at org.gradle.launcher.exec.RunAsBuildOperationBuildActionExecutor$3.call( RunAsBuildOperationBuildActionExecutor.java:61 ) at org.gradle.launcher.exec.RunAsBuildOperationBuildActionExecutor$3.call( RunAsBuildOperationBuildActionExecutor.java:57 ) at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute( DefaultBuildOperationRunner.java:204 ) at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute( DefaultBuildOperationRunner.java:199 ) at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute( DefaultBuildOperationRunner.java:66 ) at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute( DefaultBuildOperationRunner.java:59 ) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute( DefaultBuildOperationRunner.java:157 ) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute( DefaultBuildOperationRunner.java:59 ) at org.gradle.internal.operations.DefaultBuildOperationRunner.call ( DefaultBuildOperationRunner.java:53 ) at org.gradle.internal.operations.DefaultBuildOperationExecutor.call ( DefaultBuildOperationExecutor.java:73 ) at org.gradle.launcher.exec.RunAsBuildOperationBuildActionExecutor.execute( RunAsBuildOperationBuildActionExecutor.java:57 ) at org.gradle.launcher.exec.RunAsWorkerThreadBuildActionExecutor.lambda$execute$0( RunAsWorkerThreadBuildActionExecutor.java:36 ) at org.gradle.internal.work .DefaultWorkerLeaseService.withLocks( DefaultWorkerLeaseService.java:249 ) at org.gradle.internal.work .DefaultWorkerLeaseService.runAsWorkerThread( DefaultWorkerLeaseService.java:109 ) at org.gradle.launcher.exec.RunAsWorkerThreadBuildActionExecutor.execute( RunAsWorkerThreadBuildActionExecutor.java:36 ) at org.gradle.tooling.internal.provider.continuous.ContinuousBuildActionExecutor.execute( ContinuousBuildActionExecutor.java:110 ) at org.gradle.tooling.internal.provider.SubscribableBuildActionExecutor.execute( SubscribableBuildActionExecutor.java:64 ) at org.gradle.internal.session.DefaultBuildSessionContext.execute( DefaultBuildSessionContext.java:46 ) at org.gradle.tooling.internal.provider.BuildSessionLifecycleBuildActionExecuter$ActionImpl.apply( BuildSessionLifecycleBuildActionExecuter.java:100 ) at org.gradle.tooling.internal.provider.BuildSessionLifecycleBuildActionExecuter$ActionImpl.apply( BuildSessionLifecycleBuildActionExecuter.java:88 ) at org.gradle.internal.session.BuildSessionState.run ( BuildSessionState.java:69 ) at org.gradle.tooling.internal.provider.BuildSessionLifecycleBuildActionExecuter.execute( BuildSessionLifecycleBuildActionExecuter.java:62 ) at org.gradle.tooling.internal.provider.BuildSessionLifecycleBuildActionExecuter.execute( BuildSessionLifecycleBuildActionExecuter.java:41 ) at org.gradle.tooling.internal.provider.StartParamsValidatingActionExecuter.execute( StartParamsValidatingActionExecuter.java:63 ) at org.gradle.tooling.internal.provider.StartParamsValidatingActionExecuter.execute( StartParamsValidatingActionExecuter.java:31 ) at org.gradle.tooling.internal.provider.SessionFailureReportingActionExecuter.execute( SessionFailureReportingActionExecuter.java:52 ) at org.gradle.tooling.internal.provider.SessionFailureReportingActionExecuter.execute( SessionFailureReportingActionExecuter.java:40 ) 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.internal.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:49 ) Caused by: org.gradle.internal.resolve.ModuleVersionResolveException: Could not resolve org.springframework.boot:spring-boot-gradle-plugin:3.0.1. Required by: project : > org.springframework.boot:org.springframework.boot.gradle.plugin:3.0.1 Caused by: org.gradle.internal.component.NoMatchingConfigurationSelectionException: No matching variant of org.springframework.boot:spring-boot-gradle-plugin:3.0.1 was found. The consumer was configured to find a runtime of a library compatible with Java 8, packaged as a jar, and its dependencies declared externally, as well as attribute 'org.gradle.plugin.api-version' with value '7.6' but: - Variant 'apiElements' capability org.springframework.boot:spring-boot-gradle-plugin:3.0.1 declares a library, packaged as a jar, and its dependencies declared externally: - Incompatible because this component declares an API of a component compatible with Java 17 and the consumer needed a runtime of a component compatible with Java 8 - Other compatible attribute: - Doesn't say anything about org.gradle.plugin.api-version (required '7.6') - Variant 'javadocElements' capability org.springframework.boot:spring-boot-gradle-plugin:3.0.1 declares a runtime of a component, and its dependencies declared externally: - Incompatible because this component declares documentation and the consumer needed a library - Other compatible attributes: - Doesn't say anything about its target Java version (required compatibility with Java 8) - Doesn't say anything about its elements (required them packaged as a jar) - Doesn't say anything about org.gradle.plugin.api-version (required '7.6') - Variant 'mavenOptionalApiElements' capability org.springframework.boot:spring-boot-gradle-plugin-maven-optional:3.0.1 declares a library, packaged as a jar, and its dependencies declared externally: - Incompatible because this component declares an API of a component compatible with Java 17 and the consumer needed a runtime of a component compatible with Java 8 - Other compatible attribute: - Doesn't say anything about org.gradle.plugin.api-version (required '7.6') - Variant 'mavenOptionalRuntimeElements' capability org.springframework.boot:spring-boot-gradle-plugin-maven-optional:3.0.1 declares a runtime of a library, packaged as a jar, and its dependencies declared externally: - Incompatible because this component declares a component compatible with Java 17 and the consumer needed a component compatible with Java 8 - Other compatible attribute: - Doesn't say anything about org.gradle.plugin.api-version (required '7.6') - Variant 'runtimeElements' capability org.springframework.boot:spring-boot-gradle-plugin:3.0.1 declares a runtime of a library, packaged as a jar, and its dependencies declared externally: - Incompatible because this component declares a component compatible with Java 17 and the consumer needed a component compatible with Java 8 - Other compatible attribute: - Doesn't say anything about org.gradle.plugin.api-version (required '7.6') - Variant 'sourcesElements' capability org.springframework.boot:spring-boot-gradle-plugin:3.0.1 declares a runtime of a component, and its dependencies declared externally: - Incompatible because this component declares documentation and the consumer needed a library - Other compatible attributes: - Doesn't say anything about its target Java version (required compatibility with Java 8) - Doesn't say anything about its elements (required them packaged as a jar) - Doesn't say anything about org.gradle.plugin.api-version (required '7.6') at org.gradle.internal.component.model.AttributeConfigurationSelector.selectVariantsUsingAttributeMatching( AttributeConfigurationSelector.java:113 ) at org.gradle.internal.component.model.AttributeConfigurationSelector.selectVariantsUsingAttributeMatching( AttributeConfigurationSelector.java:51 ) at org.gradle.internal.component.external.model.ConfigurationBoundExternalDependencyMetadata.selectVariants( ConfigurationBoundExternalDependencyMetadata.java:110 ) at org.gradle.api.internal.artifacts.ivyservice.resolveengine.graph.builder.EdgeState.calculateTargetConfigurations( EdgeState.java:267 ) at org.gradle.api.internal.artifacts.ivyservice.resolveengine.graph.builder.EdgeState.attachToTargetConfigurations( EdgeState.java:152 ) at org.gradle.api.internal.artifacts.ivyservice.resolveengine.graph.builder.DependencyGraphBuilder.attachToTargetRevisionsSerially( DependencyGraphBuilder.java:371 ) at org.gradle.api.internal.artifacts.ivyservice.resolveengine.graph.builder.DependencyGraphBuilder.resolveEdges( DependencyGraphBuilder.java:254 ) at org.gradle.api.internal.artifacts.ivyservice.resolveengine.graph.builder.DependencyGraphBuilder.traverseGraph( DependencyGraphBuilder.java:191 ) at org.gradle.api.internal.artifacts.ivyservice.resolveengine.graph.builder.DependencyGraphBuilder.resolve( DependencyGraphBuilder.java:151 ) at org.gradle.api.internal.artifacts.ivyservice.resolveengine.DefaultArtifactDependencyResolver.resolve( DefaultArtifactDependencyResolver.java:140 ) at org.gradle.api.internal.artifacts.ivyservice.DefaultConfigurationResolver.resolveGraph( DefaultConfigurationResolver.java:195 ) at org.gradle.api.internal.artifacts.ivyservice.ShortCircuitEmptyConfigurationResolver.resolveGraph( ShortCircuitEmptyConfigurationResolver.java:85 ) at org.gradle.api.internal.artifacts.ivyservice.ErrorHandlingConfigurationResolver.resolveGraph( ErrorHandlingConfigurationResolver.java:76 ) at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration$1.call( DefaultConfiguration.java:656 ) at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration$1.call( DefaultConfiguration.java:647 ) at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute( DefaultBuildOperationRunner.java:204 ) at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute( DefaultBuildOperationRunner.java:199 ) at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute( DefaultBuildOperationRunner.java:66 ) at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute( DefaultBuildOperationRunner.java:59 ) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute( DefaultBuildOperationRunner.java:157 ) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute( DefaultBuildOperationRunner.java:59 ) at org.gradle.internal.operations.DefaultBuildOperationRunner.call ( DefaultBuildOperationRunner.java:53 ) at org.gradle.internal.operations.DefaultBuildOperationExecutor.call ( DefaultBuildOperationExecutor.java:73 ) at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration.resolveGraphIfRequired( DefaultConfiguration.java:647 ) at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration.lambda$resolveExclusively$4( DefaultConfiguration.java:627 ) at org.gradle.api.internal.project.DefaultProjectStateRegistry$CalculatedModelValueImpl.update( DefaultProjectStateRegistry.java:453 ) at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration.resolveExclusively( DefaultConfiguration.java:624 ) at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration.resolveToStateOrLater( DefaultConfiguration.java:611 ) at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration.access$1900( DefaultConfiguration.java:159 ) at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration$SelectedArtifactsProvider.getValue( DefaultConfiguration.java:1443 ) at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration$SelectedArtifactsProvider.getValue( DefaultConfiguration.java:1433 ) at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration$ConfigurationFileCollection.getSelectedArtifacts( DefaultConfiguration.java:1510 ) at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration$ConfigurationFileCollection.visitContents( DefaultConfiguration.java:1497 ) at org.gradle.api.internal.file.AbstractFileCollection.getFiles( AbstractFileCollection.java:129 ) at org.gradle.api.internal.file.AbstractFileCollection.iterator( AbstractFileCollection.java:175 ) at org.gradle.internal.classpath.DefaultClassPath.of( DefaultClassPath.java:56 ) at org.gradle.api.internal.initialization.DefaultScriptClassPathResolver.resolveClassPath( DefaultScriptClassPathResolver.java:51 ) at org.gradle.api.internal.initialization.DefaultScriptHandler.getNonInstrumentedScriptClassPath( DefaultScriptHandler.java:96 ) at org.gradle.plugin.use.internal.DefaultPluginRequestApplicator.defineScriptHandlerClassScope( DefaultPluginRequestApplicator.java:177 ) at org.gradle.plugin.use.internal.DefaultPluginRequestApplicator.applyPlugins( DefaultPluginRequestApplicator.java:142 ) 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$2.execute( DefaultBuildOperationRunner.java:66 ) at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute( DefaultBuildOperationRunner.java:59 ) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute( DefaultBuildOperationRunner.java:157 ) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute( DefaultBuildOperationRunner.java:59 ) at org.gradle.internal.operations.DefaultBuildOperationRunner.run ( DefaultBuildOperationRunner.java:47 ) at org.gradle.internal.operations.DefaultBuildOperationExecutor.run ( DefaultBuildOperationExecutor.java:68 ) at org.gradle.configuration.BuildOperationScriptPlugin.lambda$apply$0( BuildOperationScriptPlugin.java:62 ) at org.gradle.configuration.internal.DefaultUserCodeApplicationContext.apply( DefaultUserCodeApplicationContext.java:44 ) at org.gradle.configuration.BuildOperationScriptPlugin.apply( BuildOperationScriptPlugin.java:62 ) at org.gradle.api.internal.project.DefaultProjectStateRegistry$ProjectStateImpl.lambda$applyToMutableState$0( DefaultProjectStateRegistry.java:360 ) at org.gradle.api.internal.project.DefaultProjectStateRegistry$ProjectStateImpl.fromMutableState( DefaultProjectStateRegistry.java:378 ) at org.gradle.api.internal.project.DefaultProjectStateRegistry$ProjectStateImpl.applyToMutableState( DefaultProjectStateRegistry.java:359 ) 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:109 ) at org.gradle.api.internal.project.DefaultProjectStateRegistry$ProjectStateImpl.lambda$applyToMutableState$0( DefaultProjectStateRegistry.java:360 ) at org.gradle.api.internal.project.DefaultProjectStateRegistry$ProjectStateImpl.lambda$fromMutableState$1( DefaultProjectStateRegistry.java:383 ) at org.gradle.internal.work .DefaultWorkerLeaseService.withReplacedLocks( DefaultWorkerLeaseService.java:345 ) at org.gradle.api.internal.project.DefaultProjectStateRegistry$ProjectStateImpl.fromMutableState( DefaultProjectStateRegistry.java:383 ) at org.gradle.api.internal.project.DefaultProjectStateRegistry$ProjectStateImpl.applyToMutableState( DefaultProjectStateRegistry.java:359 ) at org.gradle.configuration.project.LifecycleProjectEvaluator$EvaluateProject.run( LifecycleProjectEvaluator.java:100 ) 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$2.execute( DefaultBuildOperationRunner.java:66 ) at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute( DefaultBuildOperationRunner.java:59 ) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute( DefaultBuildOperationRunner.java:157 ) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute( DefaultBuildOperationRunner.java:59 ) at org.gradle.internal.operations.DefaultBuildOperationRunner.run ( DefaultBuildOperationRunner.java:47 ) at org.gradle.internal.operations.DefaultBuildOperationExecutor.run ( DefaultBuildOperationExecutor.java:68 ) at org.gradle.configuration.project.LifecycleProjectEvaluator.evaluate( LifecycleProjectEvaluator.java:72 ) at org.gradle.api.internal.project.DefaultProject.evaluate( DefaultProject.java:762 ) at org.gradle.api.internal.project.DefaultProject.evaluate( DefaultProject.java:153 ) at org.gradle.api.internal.project.ProjectLifecycleController.lambda$ensureSelfConfigured$1( ProjectLifecycleController.java:63 ) at org.gradle.internal.model.StateTransitionController.lambda$doTransition$12( StateTransitionController.java:236 ) at org.gradle.internal.model.StateTransitionController.doTransition( StateTransitionController.java:247 ) at org.gradle.internal.model.StateTransitionController.doTransition( StateTransitionController.java:235 ) at org.gradle.internal.model.StateTransitionController.lambda$maybeTransitionIfNotCurrentlyTransitioning$9( StateTransitionController.java:196 ) at org.gradle.internal.work .DefaultSynchronizer.withLock( DefaultSynchronizer.java:34 ) at org.gradle.internal.model.StateTransitionController.maybeTransitionIfNotCurrentlyTransitioning( StateTransitionController.java:192 ) at org.gradle.api.internal.project.ProjectLifecycleController.ensureSelfConfigured( ProjectLifecycleController.java:63 ) at org.gradle.api.internal.project.DefaultProjectStateRegistry$ProjectStateImpl.ensureConfigured( DefaultProjectStateRegistry.java:334 ) at org.gradle.execution.TaskPathProjectEvaluator.configure( TaskPathProjectEvaluator.java:33 ) at org.gradle.execution.TaskPathProjectEvaluator.configureHierarchy( TaskPathProjectEvaluator.java:47 ) at org.gradle.configuration.DefaultProjectsPreparer.prepareProjects( DefaultProjectsPreparer.java:50 ) at org.gradle.configuration.BuildTreePreparingProjectsPreparer.prepareProjects( BuildTreePreparingProjectsPreparer.java:64 ) 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$2.execute( DefaultBuildOperationRunner.java:66 ) at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute( DefaultBuildOperationRunner.java:59 ) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute( DefaultBuildOperationRunner.java:157 ) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute( DefaultBuildOperationRunner.java:59 ) at org.gradle.internal.operations.DefaultBuildOperationRunner.run ( DefaultBuildOperationRunner.java:47 ) at org.gradle.internal.operations.DefaultBuildOperationExecutor.run ( DefaultBuildOperationExecutor.java:68 ) at org.gradle.configuration.BuildOperationFiringProjectsPreparer.prepareProjects( BuildOperationFiringProjectsPreparer.java:40 ) at org.gradle.initialization.VintageBuildModelController.lambda$prepareProjects$2( VintageBuildModelController.java:84 ) at org.gradle.internal.model.StateTransitionController.lambda$doTransition$12( StateTransitionController.java:236 ) at org.gradle.internal.model.StateTransitionController.doTransition( StateTransitionController.java:247 ) at org.gradle.internal.model.StateTransitionController.doTransition( StateTransitionController.java:235 ) at org.gradle.internal.model.StateTransitionController.lambda$transitionIfNotPreviously$10( StateTransitionController.java:210 ) at org.gradle.internal.work .DefaultSynchronizer.withLock( DefaultSynchronizer.java:34 ) at org.gradle.internal.model.StateTransitionController.transitionIfNotPreviously( StateTransitionController.java:206 ) at org.gradle.initialization.VintageBuildModelController.prepareProjects( VintageBuildModelController.java:84 ) at org.gradle.initialization.VintageBuildModelController.getConfiguredModel( VintageBuildModelController.java:64 ) at org.gradle.internal.build .DefaultBuildLifecycleController.lambda$withProjectsConfigured$1( DefaultBuildLifecycleController.java:116 ) at org.gradle.internal.model.StateTransitionController.lambda$notInState$3( StateTransitionController.java:143 ) at org.gradle.internal.work .DefaultSynchronizer.withLock( DefaultSynchronizer.java:44 ) at org.gradle.internal.model.StateTransitionController.notInState( StateTransitionController.java:139 ) at org.gradle.internal.build .DefaultBuildLifecycleController.withProjectsConfigured( DefaultBuildLifecycleController.java:116 ) at org.gradle.internal.build .DefaultBuildToolingModelController.locateBuilderForTarget( DefaultBuildToolingModelController.java:57 ) at org.gradle.internal.buildtree.DefaultBuildTreeModelCreator$DefaultBuildTreeModelController.lambda$locateBuilderForTarget$0( DefaultBuildTreeModelCreator.java:73 ) at org.gradle.internal.build .DefaultBuildLifecycleController.withToolingModels( DefaultBuildLifecycleController.java:180 ) at org.gradle.internal.build .AbstractBuildState.withToolingModels( AbstractBuildState.java:123 ) at org.gradle.internal.buildtree.DefaultBuildTreeModelCreator$DefaultBuildTreeModelController.locateBuilderForTarget( DefaultBuildTreeModelCreator.java:73 ) at org.gradle.internal.buildtree.DefaultBuildTreeModelCreator$DefaultBuildTreeModelController.locateBuilderForDefaultTarget( DefaultBuildTreeModelCreator.java:68 ) at org.gradle.tooling.internal.provider.runner.DefaultBuildController.getTarget( DefaultBuildController.java:157 ) at org.gradle.tooling.internal.provider.runner.DefaultBuildController.getModel( DefaultBuildController.java:101 ) at org.gradle.tooling.internal.consumer.connection.ParameterAwareBuildControllerAdapter.getModel( ParameterAwareBuildControllerAdapter.java:39 ) at org.gradle.tooling.internal.consumer.connection.UnparameterizedBuildController.getModel( UnparameterizedBuildController.java:113 ) at org.gradle.tooling.internal.consumer.connection.NestedActionAwareBuildControllerAdapter.getModel( NestedActionAwareBuildControllerAdapter.java:31 ) at org.gradle.tooling.internal.consumer.connection.UnparameterizedBuildController.findModel( UnparameterizedBuildController.java:97 ) at org.gradle.tooling.internal.consumer.connection.NestedActionAwareBuildControllerAdapter.findModel( NestedActionAwareBuildControllerAdapter.java:31 ) at org.gradle.tooling.internal.consumer.connection.UnparameterizedBuildController.findModel( UnparameterizedBuildController.java:81 ) at org.gradle.tooling.internal.consumer.connection.NestedActionAwareBuildControllerAdapter.findModel( NestedActionAwareBuildControllerAdapter.java:31 ) at org.gradle.tooling.internal.consumer.connection.UnparameterizedBuildController.findModel( UnparameterizedBuildController.java:66 ) at org.gradle.tooling.internal.consumer.connection.NestedActionAwareBuildControllerAdapter.findModel( NestedActionAwareBuildControllerAdapter.java:31 ) at org.jetbrains.plugins.gradle.model.ProjectImportAction.execute( ProjectImportAction.java:125 ) at org.jetbrains.plugins.gradle.model.ProjectImportAction.execute( ProjectImportAction.java:42 ) at org.gradle.tooling.internal.consumer.connection.InternalBuildActionAdapter.execute( InternalBuildActionAdapter.java:64 ) at org.gradle.tooling.internal.provider.runner.AbstractClientProvidedBuildActionRunner$ActionAdapter.runAction( AbstractClientProvidedBuildActionRunner.java:131 ) at org.gradle.tooling.internal.provider.runner.AbstractClientProvidedBuildActionRunner$ActionAdapter.beforeTasks( AbstractClientProvidedBuildActionRunner.java:99 ) at org.gradle.internal.buildtree.DefaultBuildTreeModelCreator.beforeTasks( DefaultBuildTreeModelCreator.java:52 ) at org.gradle.internal.buildtree.DefaultBuildTreeLifecycleController.lambda$fromBuildModel$2( DefaultBuildTreeLifecycleController.java:82 ) at org.gradle.internal.buildtree.DefaultBuildTreeLifecycleController.lambda$runBuild$5( DefaultBuildTreeLifecycleController.java:113 ) at org.gradle.internal.model.StateTransitionController.lambda$transition$5( StateTransitionController.java:166 ) at org.gradle.internal.model.StateTransitionController.doTransition( StateTransitionController.java:247 ) at org.gradle.internal.model.StateTransitionController.lambda$transition$6( StateTransitionController.java:166 ) at org.gradle.internal.work .DefaultSynchronizer.withLock( DefaultSynchronizer.java:44 ) at org.gradle.internal.model.StateTransitionController.transition( StateTransitionController.java:166 ) at org.gradle.internal.buildtree.DefaultBuildTreeLifecycleController.runBuild( DefaultBuildTreeLifecycleController.java:110 ) at org.gradle.internal.buildtree.DefaultBuildTreeLifecycleController.fromBuildModel( DefaultBuildTreeLifecycleController.java:81 ) at org.gradle.tooling.internal.provider.runner.AbstractClientProvidedBuildActionRunner.runClientAction( AbstractClientProvidedBuildActionRunner.java:43 ) at org.gradle.tooling.internal.provider.runner.ClientProvidedPhasedActionRunner.run ( ClientProvidedPhasedActionRunner.java:53 ) at org.gradle.launcher.exec.ChainingBuildActionRunner.run ( ChainingBuildActionRunner.java:35 ) at org.gradle.internal.buildtree.ProblemReportingBuildActionRunner.run ( ProblemReportingBuildActionRunner.java:49 ) at org.gradle.launcher.exec.BuildOutcomeReportingBuildActionRunner.run ( BuildOutcomeReportingBuildActionRunner.java:65 ) at org.gradle.tooling.internal.provider.FileSystemWatchingBuildActionRunner.run ( FileSystemWatchingBuildActionRunner.java:136 ) at org.gradle.launcher.exec.BuildCompletionNotifyingBuildActionRunner.run ( BuildCompletionNotifyingBuildActionRunner.java:41 ) at org.gradle.launcher.exec.RootBuildLifecycleBuildActionExecutor.lambda$execute$0( RootBuildLifecycleBuildActionExecutor.java:40 ) at org.gradle.composite.internal.DefaultRootBuildState.run ( DefaultRootBuildState.java:122 ) at org.gradle.launcher.exec.RootBuildLifecycleBuildActionExecutor.execute( RootBuildLifecycleBuildActionExecutor.java:40 ) at org.gradle.internal.buildtree.DefaultBuildTreeContext.execute( DefaultBuildTreeContext.java:40 ) at org.gradle.launcher.exec.BuildTreeLifecycleBuildActionExecutor.lambda$execute$0( BuildTreeLifecycleBuildActionExecutor.java:65 ) at org.gradle.internal.buildtree.BuildTreeState.run ( BuildTreeState.java:53 ) at org.gradle.launcher.exec.BuildTreeLifecycleBuildActionExecutor.execute( BuildTreeLifecycleBuildActionExecutor.java:65 ) at org.gradle.launcher.exec.RunAsBuildOperationBuildActionExecutor$3.call( RunAsBuildOperationBuildActionExecutor.java:61 ) at org.gradle.launcher.exec.RunAsBuildOperationBuildActionExecutor$3.call( RunAsBuildOperationBuildActionExecutor.java:57 ) at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute( DefaultBuildOperationRunner.java:204 ) at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute( DefaultBuildOperationRunner.java:199 ) at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute( DefaultBuildOperationRunner.java:66 ) at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute( DefaultBuildOperationRunner.java:59 ) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute( DefaultBuildOperationRunner.java:157 ) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute( DefaultBuildOperationRunner.java:59 ) at org.gradle.internal.operations.DefaultBuildOperationRunner.call ( DefaultBuildOperationRunner.java:53 ) at org.gradle.internal.operations.DefaultBuildOperationExecutor.call ( DefaultBuildOperationExecutor.java:73 ) at org.gradle.launcher.exec.RunAsBuildOperationBuildActionExecutor.execute( RunAsBuildOperationBuildActionExecutor.java:57 ) at org.gradle.launcher.exec.RunAsWorkerThreadBuildActionExecutor.lambda$execute$0( RunAsWorkerThreadBuildActionExecutor.java:36 ) at org.gradle.internal.work .DefaultWorkerLeaseService.withLocks( DefaultWorkerLeaseService.java:249 ) at org.gradle.internal.work .DefaultWorkerLeaseService.runAsWorkerThread( DefaultWorkerLeaseService.java:109 ) at org.gradle.launcher.exec.RunAsWorkerThreadBuildActionExecutor.execute( RunAsWorkerThreadBuildActionExecutor.java:36 ) at org.gradle.tooling.internal.provider.continuous.ContinuousBuildActionExecutor.execute( ContinuousBuildActionExecutor.java:110 ) at org.gradle.tooling.internal.provider.SubscribableBuildActionExecutor.execute( SubscribableBuildActionExecutor.java:64 ) at org.gradle.internal.session.DefaultBuildSessionContext.execute( DefaultBuildSessionContext.java:46 ) at org.gradle.tooling.internal.provider.BuildSessionLifecycleBuildActionExecuter$ActionImpl.apply( BuildSessionLifecycleBuildActionExecuter.java:100 ) at org.gradle.tooling.internal.provider.BuildSessionLifecycleBuildActionExecuter$ActionImpl.apply( BuildSessionLifecycleBuildActionExecuter.java:88 ) at org.gradle.internal.session.BuildSessionState.run ( BuildSessionState.java:69 ) at org.gradle.tooling.internal.provider.BuildSessionLifecycleBuildActionExecuter.execute( BuildSessionLifecycleBuildActionExecuter.java:62 ) at org.gradle.tooling.internal.provider.BuildSessionLifecycleBuildActionExecuter.execute( BuildSessionLifecycleBuildActionExecuter.java:41 ) at org.gradle.tooling.internal.provider.StartParamsValidatingActionExecuter.execute( StartParamsValidatingActionExecuter.java:63 ) at org.gradle.tooling.internal.provider.StartParamsValidatingActionExecuter.execute( StartParamsValidatingActionExecuter.java:31 ) at org.gradle.tooling.internal.provider.SessionFailureReportingActionExecuter.execute( SessionFailureReportingActionExecuter.java:52 ) at org.gradle.tooling.internal.provider.SessionFailureReportingActionExecuter.execute( SessionFailureReportingActionExecuter.java:40 ) 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.internal.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:49 ) 어디를 어떻게 고쳐야할까요..ㅠㅠ
1.결국 HTTP 메시지 컨버터의 "역할"이 Http message body에 있는 내용을 직접 읽거나 응답할 때 코드를 위 사진처럼 간편하게 해주는 역할을 하는거죠..? 2.HTTP메시지 컨버터의 "위치"는 핸들러 어댑터하고 핸들러 사이에서 Argument Resolver, ReturnValue Handler 가 작동 할 때 특정한 조건(요청의 경우 @RequestBody,HttpEntity 응답의 경우 @ResponsBody, HttpEntity )이 발생하면 동작하는 거구요 어렵습니당 ㅠㅠ
안녕하세요 스프링 데이터 JPA수업 중 7:01 에서 처럼 통합테스트 코드를 실행했을 때 아래와 같은 오류가 발생합니다ㅠㅜ 어떻게 해결해야 할까요?? java.lang.IllegalStateException: Failed to load ApplicationContext at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext( DefaultCacheAwareContextLoaderDelegate.java:98 ) at org.springframework.test.context.support .DefaultTestContext.getApplicationContext( DefaultTestContext.java:124 ) at org.springframework.test.context.web.ServletTestExecutionListener.setUpRequestContextIfNecessary( ServletTestExecutionListener.java:190 ) at org.springframework.test.context.web.ServletTestExecutionListener.prepareTestInstance( ServletTestExecutionListener.java:132 ) at org.springframework.test.context.TestContextManager.prepareTestInstance( TestContextManager.java:248 ) at org.springframework.test.context.junit.jupiter.SpringExtension.postProcessTestInstance( SpringExtension.java:138 ) at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$invokeTestInstancePostProcessors$8( ClassBasedTestDescriptor.java:363 ) at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.executeAndMaskThrowable( ClassBasedTestDescriptor.java:368 ) at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$invokeTestInstancePostProcessors$9( ClassBasedTestDescriptor.java:363 ) at java.base/java.util.stream.ReferencePipeline$3$1.accept( ReferencePipeline.java:195 ) at java.base/java.util.stream.ReferencePipeline$2$1.accept( ReferencePipeline.java:177 ) at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining( ArrayList.java:1655 ) at java.base/java.util.stream.AbstractPipeline.copyInto( AbstractPipeline.java:484 ) at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto( AbstractPipeline.java:474 ) at java.base/java.util.stream.StreamSpliterators$WrappingSpliterator.forEachRemaining( StreamSpliterators.java:312 ) at java.base/java.util.stream.Streams$ConcatSpliterator.forEachRemaining( Streams.java:735 ) at java.base/java.util.stream.Streams$ConcatSpliterator.forEachRemaining( Streams.java:734 ) at java.base/java.util.stream.ReferencePipeline$Head.forEach( ReferencePipeline.java:658 ) at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.invokeTestInstancePostProcessors( ClassBasedTestDescriptor.java:362 ) at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$instantiateAndPostProcessTestInstance$6( ClassBasedTestDescriptor.java:283 ) at org.junit.platform.engine.support .hierarchical.ThrowableCollector.execute( ThrowableCollector.java:73 ) at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.instantiateAndPostProcessTestInstance( ClassBasedTestDescriptor.java:282 ) at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$testInstancesProvider$4( ClassBasedTestDescriptor.java:272 ) at java.base/java.util.Optional.orElseGet( Optional.java:369 ) at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$testInstancesProvider$5( ClassBasedTestDescriptor.java:271 ) at org.junit.jupiter.engine.execution.TestInstancesProvider.getTestInstances( TestInstancesProvider.java:31 ) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$prepare$0( TestMethodTestDescriptor.java:102 ) at org.junit.platform.engine.support .hierarchical.ThrowableCollector.execute( ThrowableCollector.java:73 ) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.prepare( TestMethodTestDescriptor.java:101 ) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.prepare( TestMethodTestDescriptor.java:66 ) at org.junit.platform.engine.support .hierarchical.NodeTestTask.lambda$prepare$2( NodeTestTask.java:123 ) at org.junit.platform.engine.support .hierarchical.ThrowableCollector.execute( ThrowableCollector.java:73 ) at org.junit.platform.engine.support .hierarchical.NodeTestTask.prepare( NodeTestTask.java:123 ) at org.junit.platform.engine.support .hierarchical.NodeTestTask.execute( NodeTestTask.java:90 ) at java.base/java.util.ArrayList.forEach( ArrayList.java:1541 ) at org.junit.platform.engine.support .hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll( SameThreadHierarchicalTestExecutorService.java:41 ) at org.junit.platform.engine.support .hierarchical.NodeTestTask.lambda$executeRecursively$6( NodeTestTask.java:155 ) at org.junit.platform.engine.support .hierarchical.ThrowableCollector.execute( ThrowableCollector.java:73 ) at org.junit.platform.engine.support .hierarchical.NodeTestTask.lambda$executeRecursively$8( NodeTestTask.java:141 ) at org.junit.platform.engine.support .hierarchical.Node.around( Node.java:137 ) at org.junit.platform.engine.support .hierarchical.NodeTestTask.lambda$executeRecursively$9( NodeTestTask.java:139 ) at org.junit.platform.engine.support .hierarchical.ThrowableCollector.execute( ThrowableCollector.java:73 ) at org.junit.platform.engine.support .hierarchical.NodeTestTask.executeRecursively( NodeTestTask.java:138 ) at org.junit.platform.engine.support .hierarchical.NodeTestTask.execute( NodeTestTask.java:95 ) at java.base/java.util.ArrayList.forEach( ArrayList.java:1541 ) at org.junit.platform.engine.support .hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll( SameThreadHierarchicalTestExecutorService.java:41 ) at org.junit.platform.engine.support .hierarchical.NodeTestTask.lambda$executeRecursively$6( NodeTestTask.java:155 ) at org.junit.platform.engine.support .hierarchical.ThrowableCollector.execute( ThrowableCollector.java:73 ) at org.junit.platform.engine.support .hierarchical.NodeTestTask.lambda$executeRecursively$8( NodeTestTask.java:141 ) at org.junit.platform.engine.support .hierarchical.Node.around( Node.java:137 ) at org.junit.platform.engine.support .hierarchical.NodeTestTask.lambda$executeRecursively$9( NodeTestTask.java:139 ) at org.junit.platform.engine.support .hierarchical.ThrowableCollector.execute( ThrowableCollector.java:73 ) at org.junit.platform.engine.support .hierarchical.NodeTestTask.executeRecursively( NodeTestTask.java:138 ) at org.junit.platform.engine.support .hierarchical.NodeTestTask.execute( NodeTestTask.java:95 ) at org.junit.platform.engine.support .hierarchical.SameThreadHierarchicalTestExecutorService.submit( SameThreadHierarchicalTestExecutorService.java:35 ) at org.junit.platform.engine.support .hierarchical.HierarchicalTestExecutor.execute( HierarchicalTestExecutor.java:57 ) at org.junit.platform.engine.support .hierarchical.HierarchicalTestEngine.execute( HierarchicalTestEngine.java:54 ) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute( EngineExecutionOrchestrator.java:107 ) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute( EngineExecutionOrchestrator.java:88 ) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0( EngineExecutionOrchestrator.java:54 ) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams( EngineExecutionOrchestrator.java:67 ) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute( EngineExecutionOrchestrator.java:52 ) at org.junit.platform.launcher.core.DefaultLauncher.execute( DefaultLauncher.java:114 ) at org.junit.platform.launcher.core.DefaultLauncher.execute( DefaultLauncher.java:86 ) at org.junit.platform.launcher.core.DefaultLauncherSession$DelegatingLauncher.execute( DefaultLauncherSession.java:86 ) at org.junit.platform.launcher.core.SessionPerRequestLauncher.execute( SessionPerRequestLauncher.java:53 ) at com.intellij.junit5.JUnit5IdeaTestRunner.startRunnerWithArgs( JUnit5IdeaTestRunner.java:57 ) at com.intellij.rt.junit.IdeaTestRunner$Repeater$1.execute( IdeaTestRunner.java:38 ) at com.intellij.rt.execution.junit.TestsRepeater.repeat( TestsRepeater.java:11 ) at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs( IdeaTestRunner.java:35 ) at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart( JUnitStarter.java:235 ) at com.intellij.rt.junit.JUnitStarter.main( JUnitStarter.java:54 ) Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: Invocation of init method failed; nested exception is org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment] at org.springframework.beans.factory.support .AbstractAutowireCapableBeanFactory.initializeBean( AbstractAutowireCapableBeanFactory.java:1804 ) at org.springframework.beans.factory.support .AbstractAutowireCapableBeanFactory.doCreateBean( AbstractAutowireCapableBeanFactory.java:620 ) at org.springframework.beans.factory.support .AbstractAutowireCapableBeanFactory.createBean( AbstractAutowireCapableBeanFactory.java:542 ) at org.springframework.beans.factory.support .AbstractBeanFactory.lambda$doGetBean$0( AbstractBeanFactory.java:335 ) at org.springframework.beans.factory.support .DefaultSingletonBeanRegistry.getSingleton( DefaultSingletonBeanRegistry.java:234 ) at org.springframework.beans.factory.support .AbstractBeanFactory.doGetBean( AbstractBeanFactory.java:333 ) at org.springframework.beans.factory.support .AbstractBeanFactory.getBean( AbstractBeanFactory.java:208 ) at org.springframework.context.support .AbstractApplicationContext.getBean( AbstractApplicationContext.java:1154 ) at org.springframework.context.support .AbstractApplicationContext.finishBeanFactoryInitialization( AbstractApplicationContext.java:908 ) at org.springframework.context.support .AbstractApplicationContext.refresh( AbstractApplicationContext.java:583 ) at org.springframework.boot.SpringApplication.refresh( SpringApplication.java:731 ) at org.springframework.boot.SpringApplication.refreshContext( SpringApplication.java:408 ) at org.springframework.boot.SpringApplication.run ( SpringApplication.java:307 ) at org.springframework.boot.test.context.SpringBootContextLoader.loadContext( SpringBootContextLoader.java:136 ) at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContextInternal( DefaultCacheAwareContextLoaderDelegate.java:141 ) at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext( DefaultCacheAwareContextLoaderDelegate.java:90 ) ... 71 more Caused by: org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment] at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService( AbstractServiceRegistryImpl.java:275 ) at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService( AbstractServiceRegistryImpl.java:237 ) at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService( AbstractServiceRegistryImpl.java:214 ) at org.hibernate.id .factory.internal.DefaultIdentifierGeneratorFactory.injectServices( DefaultIdentifierGeneratorFactory.java:175 ) at org.hibernate.service.internal.AbstractServiceRegistryImpl.injectDependencies( AbstractServiceRegistryImpl.java:286 ) at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService( AbstractServiceRegistryImpl.java:243 ) at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService( AbstractServiceRegistryImpl.java:214 ) at org.hibernate.boot.internal.InFlightMetadataCollectorImpl.<init>( InFlightMetadataCollectorImpl.java:173 ) at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.complete( MetadataBuildingProcess.java:127 ) at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.metadata( EntityManagerFactoryBuilderImpl.java:1460 ) at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build ( EntityManagerFactoryBuilderImpl.java:1494 ) at org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory( SpringHibernateJpaPersistenceProvider.java:58 ) at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory( LocalContainerEntityManagerFactoryBean.java:365 ) at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory( AbstractEntityManagerFactoryBean.java:409 ) at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet( AbstractEntityManagerFactoryBean.java:396 ) at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.afterPropertiesSet( LocalContainerEntityManagerFactoryBean.java:341 ) at org.springframework.beans.factory.support .AbstractAutowireCapableBeanFactory.invokeInitMethods( AbstractAutowireCapableBeanFactory.java:1863 ) at org.springframework.beans.factory.support .AbstractAutowireCapableBeanFactory.initializeBean( AbstractAutowireCapableBeanFactory.java:1800 ) ... 86 more Caused by: org.hibernate.HibernateException: Access to DialectResolutionInfo cannot be null when 'hibernate.dialect' not set at org.hibernate.engine.jdbc.dialect.internal.DialectFactoryImpl.determineDialect( DialectFactoryImpl.java:100 ) at org.hibernate.engine.jdbc.dialect.internal.DialectFactoryImpl.buildDialect( DialectFactoryImpl.java:54 ) at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService( JdbcEnvironmentInitiator.java:138 ) at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService( JdbcEnvironmentInitiator.java:35 ) at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.initiateService( StandardServiceRegistryImpl.java:101 ) at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService( AbstractServiceRegistryImpl.java:263 ) ... 103 more
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] Field Error를 사용하면 잘못된(검증에 실패한) 값이 입력될 경우 따로 값을 보관해서 다시 웹화면에 값을 보여준다고 강의에서 말씀하셔서 그 부분은 이해 하였습니다. //ValidationItemControllerV1 @PostMapping("/add") public String addItem(@ModelAttribute Item item, RedirectAttributes redirectAttributes, Model model) { Map<String, String> errors = new HashMap<>(); if (!StringUtils.hasText(item.getItemName())) { errors.put("itemName", "상품 이름은 필수입니다."); } if (item.getPrice() == null || item.getPrice() < 1000 || item.getPrice() > 1000000) { errors.put("price", "가격은 1,000 ~ 1,000,000까지 허용합니다."); } if (item.getQuantity() == null || item.getQuantity() >= 9999) { errors.put("quantity", "수량은 최대 9,999까지 허용합니다"); } if (item.getPrice() != null && item.getQuantity() != null) { int resultPrice = item.getPrice() * item.getQuantity(); if (resultPrice < 10000) { errors.put("globalError", "가격 * 수량의 합은 10,000원 이상이어야 합니다. 현재 값 = " + resultPrice); } } if (!errors.isEmpty()) { log.info("error = {}", errors); model.addAttribute("errors", errors); return "validation/v1/addForm"; } Item savedItem = itemRepository.save(item); redirectAttributes.addAttribute("itemId", savedItem.getId()); redirectAttributes.addAttribute("status", true); return "redirect:/validation/v1/items/{itemId}"; } 하지만 V1의 코드를 보면 bindingResult, fieldError등 관련 기술을 사용하지 않는데도 검증에 실패한 값이 유지가 되면서 웹 화면에 그래도 출력됩니다. (타입이 잘못된 경우는 오류가 나면서 오류페이지를 출력합니다.) V1은 순수한 자바코드로 작성 되었고 스프링을 사용해서 @ModelAttribute를 사용해서 객체를 view에 전달하는데 혹시 @ModelAttribute에서 잘못된 값을 임시로 저장해서 출력하는 건가요?? 질문이 뜬금없지만 이부분이 찝찝해서 찾아봐도 쉽게 알 수 없어서 질문 드립니다. 긴글 읽어 주셔서 감사합니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 7:33초에 했던 말에서 질문이 있습니다. ControllerV4HandlerAdapter() 안에 handle 메소드에 있는 아래 코드 String viewName = controller.process(paramMap, model); ModelView mv = new ModelView(viewName); mv.setModel(model); 에서 viewName을 가지고 mv라는 모델 뷰를 만들고 모델까지 값을 세팅해서 넘긴다고 했는데 viewName 에는 논리이름이 들어가는거는 알겠는데 위 mv.setModel(model);에는 어떤 값이 세팅되서 들어가나요? 첫번쨰 코드로 model을 사용한 후에 어떤걸 set으로 넣어주는지지를 잘 모르겠습니다.
안녕하세요 강의를 보다 헷갈리는 부분이 있어서 질문드립니다. 😅 강의 중 Massive View Controller? 라는 챕터에서 강사님이 설명해주신 UIViewController의 책임을 제외한 네트워크통신 로직 또는 로컬데이터 저장하는 로직등에 관한 코드등을 임의로 Controller에 추가하면 비대해질 수 있다고 하셨는데 두 가지 예시는 데이터를 처리하는 로직이라고 생각이 듭니다. PDS의 사상으로 나누면 도메인으로 생각하는 것이 맞을까요? 🤔 CocoaMVC에서 해당 로직 등에 관한 정확한 제시가 없는 부분이 개발환경에 따른 영향이 아닌 CocoaMVC아키텍처 패턴에서 문제로 봐야될까요? 🤔 CocoaMVC에서 해당 로직 등은 그럼 어디에 담당하는 것이 맞는지? 고민이 됩니다. 따라서 CocoaMVC에서 다른 아키텍처패턴등이 파생된 것이라고 볼 수 있을까요?
안녕하세요. JPA를 공부하면서 궁금한점이 생겨서 질문드립니다. JPA는 ORM이므로 RDMS와 연결되는거로 알고있습니다. 현재 제가 사이드 프로젝트를 진행하고 있는데.. NoSQL와 JPA를 동시에 경험해볼 수 있는 프로젝트를 만들고자하는데.. NoSQL은 JPA와 아예 연결지을 수가 없는지 궁금합니다. 강의 잘 듣고있습니다. 항상 감사합니다.
강의 9분쯤 나오는 build.gradle 설정과 제 gradle에서 useJUnitPlatform 부분이 달라서 그런지 useJUnitPlatform이 회색글씨로 나오고 인식이 되지 않습니다 project와 SDKs에서 자바버전은 자바11로 동일하게 맞춰놓은 상태입니다 직접 코드를 수정해 reload 하는 방법밖에 없는 건가요?
로그인 - 서블릿 HTTP 세션2에서 로그인을 처음 시도하면 URL이 jsessionid 를 포함하고 있는데 - 리다이렉트되는 페이지는 MVC2 강의 처음에 생성했던 static/index.html로 리다이렉트 됩니다. (MVC 강의 1부터 2까지 하나의 프로젝트에 설정하고 있어서 - 이전의 실습내용도 삭제하지 않은 상황입니다.) 물론 application.yml에 server.servlet.session.tracking-modes=cookie 적용해주면 강의와 똑같이 정상적으로 동작하지만, 위에서처럼 index.html이 나오는 것은 무슨 이유 때문일까요?