안녕하세요 강사님 요즘 너무 바빠서 강의를 못듣다가 다시 수강하게되었습니다 다른게아니고 새로운 스프링부트파일 생성할때 Can not initialize cryptographic mechanism 이런오류가 나버리는데 java.lang.ExceptionInInitializerError (no error message) > Can not initialize cryptographic mechanism * Try: > Run with --info or --debug option to get more log output. > Run with --scan to get full insights. * Exception is: java.lang.ExceptionInInitializerError at org.gradle.internal.resource.transport.http.HttpClientConfigurer.jdkSupportsTLSProtocol( HttpClientConfigurer.java:115 ) at org.gradle.internal.resource.transport.http.HttpClientConfigurer.determineHttpsProtocols( HttpClientConfigurer.java:106 ) at org.gradle.internal.resource.transport.http.HttpClientConfigurer.<init>( HttpClientConfigurer.java:134 ) at org.gradle.internal.resource.transport.http.HttpClientHelper.getClient( HttpClientHelper.java:224 ) at org.gradle.internal.resource.transport.http.HttpClientHelper.performHttpRequest( HttpClientHelper.java:170 ) at org.gradle.internal.resource.transport.http.HttpClientHelper.performHttpRequest( HttpClientHelper.java:146 ) at org.gradle.internal.resource.transport.http.HttpClientHelper.executeGetOrHead( HttpClientHelper.java:135 ) at org.gradle.internal.resource.transport.http.HttpClientHelper.performRequest( HttpClientHelper.java:105 ) at org.gradle.internal.resource.transport.http.HttpClientHelper.performRawGet( HttpClientHelper.java:92 ) at org.gradle.internal.resource.transport.http.HttpClientHelper.performGet( HttpClientHelper.java:96 ) at org.gradle.internal.resource.transport.http.HttpResourceAccessor.openResource( HttpResourceAccessor.java:45 ) at org.gradle.internal.resource.transport.http.HttpResourceAccessor.openResource( HttpResourceAccessor.java:30 ) at org.gradle.internal.resource.transfer.AbstractExternalResourceAccessor.withContent( AbstractExternalResourceAccessor.java:32 ) at org.gradle.internal.resource.transfer.DefaultExternalResourceConnector.withContent( DefaultExternalResourceConnector.java:59 ) at org.gradle.internal.resource.transfer.ProgressLoggingExternalResourceAccessor$DownloadOperation.call( ProgressLoggingExternalResourceAccessor.java:122 ) 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.internal.resource.transfer.ProgressLoggingExternalResourceAccessor.withContent( ProgressLoggingExternalResourceAccessor.java:45 ) at org.gradle.internal.resource.transfer.AccessorBackedExternalResource.withContentIfPresent( AccessorBackedExternalResource.java:99 ) at org.gradle.internal.resource.transfer.DefaultCacheAwareExternalResourceAccessor.copyToCache( DefaultCacheAwareExternalResourceAccessor.java:191 ) at org.gradle.internal.resource.transfer.DefaultCacheAwareExternalResourceAccessor.lambda$getResource$1( DefaultCacheAwareExternalResourceAccessor.java:89 ) at org.gradle.cache.internal.ProducerGuard$AdaptiveProducerGuard.guardByKey( ProducerGuard.java:97 ) at org.gradle.internal.resource.transfer.DefaultCacheAwareExternalResourceAccessor.getResource( DefaultCacheAwareExternalResourceAccessor.java:83 ) at org.gradle.api.internal.artifacts.repositories.resolver.DefaultExternalResourceArtifactResolver.downloadByCoords( DefaultExternalResourceArtifactResolver.java:149 ) at org.gradle.api.internal.artifacts.repositories.resolver.DefaultExternalResourceArtifactResolver.downloadStaticResource( DefaultExternalResourceArtifactResolver.java:94 ) at org.gradle.api.internal.artifacts.repositories.resolver.DefaultExternalResourceArtifactResolver.resolveArtifact( DefaultExternalResourceArtifactResolver.java:60 ) at org.gradle.api.internal.artifacts.repositories.metadata.AbstractRepositoryMetadataSource.parseMetaDataFromArtifact( AbstractRepositoryMetadataSource.java:78 ) at org.gradle.api.internal.artifacts.repositories.metadata.AbstractRepositoryMetadataSource.create( AbstractRepositoryMetadataSource.java:68 ) at org.gradle.api.internal.artifacts.repositories.metadata.DefaultMavenPomMetadataSource.create( DefaultMavenPomMetadataSource.java:40 ) at org.gradle.api.internal.artifacts.repositories.metadata.RedirectingGradleMetadataModuleMetadataSource.create( RedirectingGradleMetadataModuleMetadataSource.java:51 ) at org.gradle.api.internal.artifacts.repositories.resolver.ExternalResourceResolver.resolveStaticDependency( ExternalResourceResolver.java:242 ) at org.gradle.api.internal.artifacts.repositories.resolver.MavenResolver.doResolveComponentMetaData( MavenResolver.java:115 ) at org.gradle.api.internal.artifacts.repositories.resolver.ExternalResourceResolver$RemoteRepositoryAccess.resolveComponentMetaData( ExternalResourceResolver.java:457 ) at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.CachingModuleComponentRepository$ResolveAndCacheRepositoryAccess.resolveComponentMetaData( CachingModuleComponentRepository.java:382 ) at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.ErrorHandlingModuleComponentRepository$ErrorHandlingModuleComponentRepositoryAccess.lambda$resolveComponentMetaData$5( ErrorHandlingModuleComponentRepository.java:152 ) at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.ErrorHandlingModuleComponentRepository$ErrorHandlingModuleComponentRepositoryAccess.lambda$tryResolveAndMaybeBlacklist$15( ErrorHandlingModuleComponentRepository.java:213 ) at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.ErrorHandlingModuleComponentRepository$ErrorHandlingModuleComponentRepositoryAccess.tryResolveAndMaybeBlacklist( ErrorHandlingModuleComponentRepository.java:227 ) at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.ErrorHandlingModuleComponentRepository$ErrorHandlingModuleComponentRepositoryAccess.tryResolveAndMaybeBlacklist( ErrorHandlingModuleComponentRepository.java:212 ) at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.ErrorHandlingModuleComponentRepository$ErrorHandlingModuleComponentRepositoryAccess.performOperationWithRetries( ErrorHandlingModuleComponentRepository.java:205 ) at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.ErrorHandlingModuleComponentRepository$ErrorHandlingModuleComponentRepositoryAccess.resolveComponentMetaData( ErrorHandlingModuleComponentRepository.java:151 ) at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.ComponentMetaDataResolveState.process( ComponentMetaDataResolveState.java:69 ) at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.ComponentMetaDataResolveState.resolve( ComponentMetaDataResolveState.java:61 ) at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.RepositoryChainComponentMetaDataResolver.findBestMatch( RepositoryChainComponentMetaDataResolver.java:139 ) at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.RepositoryChainComponentMetaDataResolver.findBestMatch( RepositoryChainComponentMetaDataResolver.java:120 ) at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.RepositoryChainComponentMetaDataResolver.resolveModule( RepositoryChainComponentMetaDataResolver.java:94 ) at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.RepositoryChainComponentMetaDataResolver.resolve( RepositoryChainComponentMetaDataResolver.java:65 ) at org.gradle.api.internal.artifacts.ivyservice.resolveengine.ComponentResolversChain$ComponentMetaDataResolverChain.resolve( ComponentResolversChain.java:106 ) at org.gradle.api.internal.artifacts.ivyservice.clientmodule.ClientModuleResolver.resolve( ClientModuleResolver.java:70 ) at org.gradle.api.internal.artifacts.ivyservice.resolveengine.graph.builder.ComponentState.resolve( ComponentState.java:230 ) at org.gradle.api.internal.artifacts.ivyservice.resolveengine.graph.builder.ComponentState.getResolveStateOrNull( ComponentState.java:177 ) at org.gradle.api.internal.artifacts.ivyservice.resolveengine.graph.builder.EdgeState.calculateTargetConfigurations( EdgeState.java:223 ) 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:144 ) 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:657 ) at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration$1.call( DefaultConfiguration.java:648 ) 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:648 ) at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration.lambda$resolveExclusively$4( DefaultConfiguration.java:628 ) at org.gradle.api.internal.initialization.RootScriptDomainObjectContext$CalculatedModelValueImpl.update( RootScriptDomainObjectContext.java:143 ) at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration.resolveExclusively( DefaultConfiguration.java:625 ) at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration.resolveToStateOrLater( DefaultConfiguration.java:612 ) at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration.getResolvedConfiguration( DefaultConfiguration.java:587 ) at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration_Decorated.getResolvedConfiguration(Unknown Source) at org.gradle.plugin.use.resolve.internal.ArtifactRepositoriesPluginResolver.exists( ArtifactRepositoriesPluginResolver.java:104 ) at org.gradle.plugin.use.resolve.internal.ArtifactRepositoriesPluginResolver.resolve( ArtifactRepositoriesPluginResolver.java:60 ) at org.gradle.plugin.use.resolve.internal.CompositePluginResolver.resolve( CompositePluginResolver.java:34 ) at org.gradle.plugin.use.resolve.internal.AlreadyOnClasspathPluginResolver.resolve( AlreadyOnClasspathPluginResolver.java:57 ) at org.gradle.plugin.use.internal.DefaultPluginRequestApplicator.resolveToFoundResult( DefaultPluginRequestApplicator.java:229 ) at org.gradle.plugin.use.internal.DefaultPluginRequestApplicator.lambda$resolvePluginRequests$3( DefaultPluginRequestApplicator.java:168 ) at org.gradle.util.internal.CollectionUtils.collect( CollectionUtils.java:212 ) at org.gradle.util.internal.CollectionUtils.collect( CollectionUtils.java:206 ) at org.gradle.plugin.use.internal.DefaultPluginRequestApplicator.resolvePluginRequests( DefaultPluginRequestApplicator.java:166 ) at org.gradle.plugin.use.internal.DefaultPluginRequestApplicator.applyPlugins( DefaultPluginRequestApplicator.java:101 ) 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:126 ) at org.jetbrains.plugins.gradle.model.ProjectImportAction.execute( ProjectImportAction.java:43 ) 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: java.lang.SecurityException: Can not initialize cryptographic mechanism ... 268 more Caused by: java.lang.SecurityException: Can't read cryptographic policy directory: unlimited ... 268 more 이건 전체오류내용입니다 혹시 해결가능하실까요... 만드시는것처럼 똑같이 생성했습니다 ㅠㅠ
자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
안녕하세요, 강사님. 컨트롤러 코드 관련 질문입니다. 작성한 코드는 컨트롤러의 메소드 반환 타입을 void로 해서 아무것도 반환하지 않는데요, 만약 postmapping 관련 메소드 작성 시, 작성한 게시글의 id값을 반환해주는 코드와 큰 차이가 있을까요? 그리고 찾아보던 중, ResponseEntity를 사용해서 반환해주는 메소드를 보았는데, 메소드의 반환 타입에 따라 기능에 큰 차이가 있는지, 아니면 API 명세의 차이만 있고 기능에는 크게 차이가 없는지 궁금합니다!
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 안녕하세요. 강의를 한 번 완주한 후 개별적으로 예제와 다르게 다시 공부하고 있는데 오류가 나서요..ㅜㅜ https://drive.google.com/file/d/1Fe9hZbwSCKFYyQtmj_TU2Sl9VwqeXCsO/view?usp=sharing 무엇 때문에 오류가 났는지 알 수 있을까요??
안녕하세요 oracle db에서 서브쿼리 안에서 groupby를 했을떄 ORA-02287 sequence number not allowed here 오류가 나옵니다. 검색해보니 SEQUENCE를 사용할 수 없는 경우는 다음과 같다. SELECT 문장의 경우에서 1. WHERE 절 안에서 2. GROUP BY나 ORDER BY 절에서 3. DISTINCT 절에서 4. UNION 이나 INTERSECT 나 MINUS 와 함께 사용 할때 5. 서브 쿼리 안에서 라고 하는데 제 경우에는 이 group by를 하고싶으면 어떻게 할수있나요? 감사합니다. Integer sucessCount =0, JPQLQuery<Tuple> subQuery = JPAExpressions.select( log.name, log.content, new CaseBuilder() .when(log.statusCode.eq("0") .then(sucessCount+1) .otherwise(successCount), client.id ) .from(log) .leftJoin(client) .on(client.name.eq(log.name)) //이 group by가 문제 .groupBy(log.name, log.content, client.id); queryFactory.insert(stats) .columns( stats.name, stats.content, stats.successCount, stats.clientId ) .select(subQuery) .execute();
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 커맨드와 쿼리를 분리한다고 하셨는데, 분산 데이터베이스 환경에서 update 쿼리에서 반환값을 가져오지 않고 다시 findOne을 수행한다고 가정했을때 전파가 아직 이루어지지 않아서 조회가 안되는 경우가 발생할 수도 있을까요? 이전에 물리적으로 분산 데이터베이스 환경에서 update되는 데이터가 많아서 find로 값을 불러오지 못한 경우가 있어서 무조건 update 쿼리를 보낼때 반환값을 받아서 처리했던 기억이 있어서 질문 드립니다.
전 윈도우 기반에서 선생님 온라인 강의 청취하고 있습니다. git besh에서 sdkman으로 springboot 설치해서 터미널 상에서 spring 서버로 테스트까진 확인하고 터미널에서 인텔리J로 접속이 되지않아 그냥 인텔리J에서 프로젝트 오픈하여 수업을 따라가고 있었는데 인텔리J와 스프링부트 연동하는 방법을 몰라서 질문 남깁니다.
안녕하세요 강사님! 강의 거의 막바지를 달려가고있네요 좋은강의 감사합니다! 다른게아니고 HelloRepositoryTest를 돌리는데 expected: null but was: tobyspring.helloboot.Hello@5546e754 org.opentest4j.AssertionFailedError: expected: null but was: tobyspring.helloboot.Hello@5546e754 at java.base@11/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at java.base@11/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance( NativeConstructorAccessorImpl.java:62 ) at java.base@11/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance( DelegatingConstructorAccessorImpl.java:45 ) at app//tobyspring.helloboot.HelloRepositoryTest.findHelloFailed( HelloRepositoryTest.java:17 ) at java.base@11/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base@11/jdk.internal.reflect.NativeMethodAccessorImpl.invoke( NativeMethodAccessorImpl.java:62 ) at java.base@11/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke( DelegatingMethodAccessorImpl.java:43 ) at java.base@11/java.lang.reflect.Method.invoke( Method.java:566 ) at app//org.junit.platform.commons.util.ReflectionUtils.invokeMethod( ReflectionUtils.java:725 ) at app//org.junit.jupiter.engine.execution.MethodInvocation.proceed( MethodInvocation.java:60 ) at app//org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed( InvocationInterceptorChain.java:131 ) at app//org.junit.jupiter.engine.extension.TimeoutExtension.intercept( TimeoutExtension.java:149 ) at app//org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestableMethod( TimeoutExtension.java:140 ) at app//org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestMethod( TimeoutExtension.java:84 ) at app//org.junit.jupiter.engine.execution.ExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0( ExecutableInvoker.java:115 ) at app//org.junit.jupiter.engine.execution.ExecutableInvoker.lambda$invoke$0( ExecutableInvoker.java:105 ) at app//org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed( InvocationInterceptorChain.java:106 ) at app//org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed( InvocationInterceptorChain.java:64 ) at app//org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke( InvocationInterceptorChain.java:45 ) at app//org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke( InvocationInterceptorChain.java:37 ) at app//org.junit.jupiter.engine.execution.ExecutableInvoker.invoke( ExecutableInvoker.java:104 ) at app//org.junit.jupiter.engine.execution.ExecutableInvoker.invoke( ExecutableInvoker.java:98 ) at app//org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$7( TestMethodTestDescriptor.java:214 ) at app//org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute( ThrowableCollector.java:73 ) at app//org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod( TestMethodTestDescriptor.java:210 ) at app//org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute( TestMethodTestDescriptor.java:135 ) at app//org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute( TestMethodTestDescriptor.java:66 ) at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6( NodeTestTask.java:151 ) at app//org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute( ThrowableCollector.java:73 ) at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8( NodeTestTask.java:141 ) at app//org.junit.platform.engine.support.hierarchical.Node.around( Node.java:137 ) at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9( NodeTestTask.java:139 ) at app//org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute( ThrowableCollector.java:73 ) at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively( NodeTestTask.java:138 ) at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.execute( NodeTestTask.java:95 ) at java.base@11/java.util.ArrayList.forEach( ArrayList.java:1540 ) at app//org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll( SameThreadHierarchicalTestExecutorService.java:41 ) at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6( NodeTestTask.java:155 ) at app//org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute( ThrowableCollector.java:73 ) at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8( NodeTestTask.java:141 ) at app//org.junit.platform.engine.support.hierarchical.Node.around( Node.java:137 ) at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9( NodeTestTask.java:139 ) at app//org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute( ThrowableCollector.java:73 ) at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively( NodeTestTask.java:138 ) at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.execute( NodeTestTask.java:95 ) at java.base@11/java.util.ArrayList.forEach( ArrayList.java:1540 ) at app//org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll( SameThreadHierarchicalTestExecutorService.java:41 ) at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6( NodeTestTask.java:155 ) at app//org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute( ThrowableCollector.java:73 ) at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8( NodeTestTask.java:141 ) at app//org.junit.platform.engine.support.hierarchical.Node.around( Node.java:137 ) at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9( NodeTestTask.java:139 ) at app//org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute( ThrowableCollector.java:73 ) at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively( NodeTestTask.java:138 ) at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.execute( NodeTestTask.java:95 ) at app//org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit( SameThreadHierarchicalTestExecutorService.java:35 ) at app//org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute( HierarchicalTestExecutor.java:57 ) at app//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 org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.processAllTestClasses( JUnitPlatformTestClassProcessor.java:99 ) at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.access$000( JUnitPlatformTestClassProcessor.java:79 ) at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.stop( JUnitPlatformTestClassProcessor.java:75 ) at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop( SuiteTestClassProcessor.java:62 ) at java.base@11/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base@11/jdk.internal.reflect.NativeMethodAccessorImpl.invoke( NativeMethodAccessorImpl.java:62 ) at java.base@11/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke( DelegatingMethodAccessorImpl.java:43 ) at java.base@11/java.lang.reflect.Method.invoke( Method.java:566 ) at org.gradle.internal.dispatch.ReflectionDispatch.dispatch( ReflectionDispatch.java:36 ) at org.gradle.internal.dispatch.ReflectionDispatch.dispatch( ReflectionDispatch.java:24 ) at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch( ContextClassLoaderDispatch.java:33 ) at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke( ProxyDispatchAdapter.java:94 ) at com.sun.proxy.$Proxy2.stop(Unknown Source) at org.gradle.api.internal.tasks.testing.worker.TestWorker$3.run( TestWorker.java:193 ) at org.gradle.api.internal.tasks.testing.worker.TestWorker.executeAndMaintainThreadName( TestWorker.java:129 ) at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute( TestWorker.java:100 ) at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute( TestWorker.java:60 ) at org.gradle.process.internal.worker.child.ActionExecutionWorker.execute( ActionExecutionWorker.java:56 ) at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call ( SystemApplicationClassLoaderWorker.java:113 ) at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call ( SystemApplicationClassLoaderWorker.java:65 ) at app//worker.org.gradle.process.internal.worker.GradleWorkerMain.run( GradleWorkerMain.java:69 ) at app//worker.org.gradle.process.internal.worker.GradleWorkerMain.main( GradleWorkerMain.java:74 ) 이런에러가나서요 package tobyspring.helloboot; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.jdbc.core.JdbcTemplate; import static org.assertj.core.api.Assertions. assertThat ; @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment. NONE ) public class HelloRepositoryTest { @Autowired JdbcTemplate jdbcTemplate; @Autowired HelloRepository helloRepository; @Test void findHelloFailed(){ assertThat (helloRepository.findHello("Toby")).isNull(); } @Test void increaseCount(){ assertThat (helloRepository.countOf("Toby")).isEqualTo(0); helloRepository.increaseCount("Toby"); assertThat (helloRepository.countOf("Toby")).isEqualTo(1); helloRepository.increaseCount("Toby"); assertThat (helloRepository.countOf("Toby")).isEqualTo(2); } } 이건 제 코드입니다 어디서 오류가났는지를 모르겠습니다...
@ManyToOne @JoinColumn(name = "parent_id") private Category parent; @OneToMany(mappedBy = "parent") private List<Category> child = new ArrayList<>(); 부모와 자식을 이렇게 설정해준다는데, 부모를 Many To One 자식을 One To Many 로 해주는게 이해가 안갑니다. 왜 이렇게 연관관계를 설정해 줘야 하는건가요?
public class student { public int score; public int getScore() { return this.score; } } 위와 같은 코드가 있고 연관관계 매핑이 되어있어 현재 프록시 상태라고 가정했을 때 점수를 얻기 위해 student.score를 사용 하면 영속성 컨텍스트로부터 초기화를 받지 못하고, student.getScoret()를 하면 초기화를 받는 건가요 ? 만약 프로퍼티 접근을 사용했을 때 초기화를 받지 모한다면 studnet.score 안에는 무슨 값이 들어있게 되는 건가요 ?
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예 [질문 내용] 제가 이해한게 맞을까요? 일단 기본적으로 type을 LAZY 로 하는 이유는 조회할때 한 방에 다른 엔티티까지 쿼리가 나가고 그거에 연관된 엔티티까지 쿼리가 나가면 비효율 적이다. 그래서 LAZY 를 쓰는데 조회할때 다른 Entity 의 값도 가져오려면 LAZY 타입이니 쿼리가 많이 나가서 fetch JOIN 으로 한 쿼리로 연결 시킨다. 그러면 EAGER 바꾸면 될 것같지만, EAGER 는 예측할 수 없는 문제도 있고, 다른곳에서 조회할때는 또 다른 엔티티의 값이 필요가 없을 수도 있기 때문에 기본은 LAZY로 해두고 다른 엔티티의 값이 필요한 특수한 경우에만 fetch JOIN 을 한다.
실전! 코틀린과 스프링 부트로 도서관리 애플리케이션 개발하기 (Java 프로젝트 리팩토링)
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 자바 스프링에서는 테스트용 생성자 메서드가 있어도, 매번 일일히 null을 넣어준다거나 하는 문제점들이 있어서 결국 Builder를 사용했었는데 코틀린에서는 롬복 Builder가 지원되지 않는다고 해서 엄청 고민 중이였습니다 근데 이번 강의 보니까 그냥 온전한 객체 만들어주는 팩터리 메서드 하나 만들어놓고 테스트용으로 필요한 인자 값들만 설정해주면 되는 거였군요 진짜 미쳤다.. 갓틀린.. 잘 배워갑니다..
@PostMapping("/items/{id}/edit") public String updateItem(@PathVariable Long id, @ModelAttribute Item item) { Item findItem = itemService.findById(item.getId()); //더티 체킹 findItem.setId(item.getId()); findItem.setName(item.getName()); findItem.setPrice(item.getPrice()); findItem.setStockQuantity(item.getStockQuantity()); findItem.setAuthor(item.getAuthor()); findItem.setIsbn(item.getIsbn()); return "redirect:/items"; } 강의를 보지 않고 스스로 코드를 짜보고 있는데 이렇게 하니까 수정내역이 반영 되지 않더라구요 스스로 생각해봤을 때는 다음 2가지 이유 중 하나일 것 같은데 이유가 이유가 무엇인가요 ㅠㅠ? findItem은 영속성 컨텍스트가 관리하지 않는 객체가 된 것이다. 따라서 더티체킹이 되지 않는다. 영속성 컨텍스트가 관리하는 엔티티는 맞지만 Controller에는 트랜잭션이 없어서 반영이 안되는 것이다.
안녕하세요 토비님. 우선, 감동으로 청강을 이어갈 기회를 얻게되어 참 감사드립니다. 아래는 섹션8 - DataSource 자동 구성 클래스 파트의 @Bean 메서드 등록과정에 생긴 문제입니다. 의문점은 메서드 선언 순서에 영향을 받는다는것을 알게되서 다음처럼 2번의 테스트를 진행했습니다. @Bean 메서드 선언순서 에 따른 등록 테스트 simple , hikari hikari, simple 1 결과: simple 이 등록됨 /* DataSourceConfig.java */ @Bean @ConditionalOnMissingBean public DataSource simpleDriverDataSource() { ... } @Bean @ConditionalOnMissingBean @ConditionalMyOnClass("com.zaxxer.hikari.HikariDataSource") public DataSource hikariDataSource() { ... } hikari 에 `@ConditionalMyOnClass` 가 있기때문에 등록될 것으로 예상했지만, simple 이 등록되었습니다. 2 결과: hikari 가 등록됨 @Bean @... public DataSource hikariDataSource() { ... } @Bean @... public DataSource simpleDriverDataSource() { ... } 기묘하게도 @Bean 메서드 선언순서를 바꾸니 Hikari 빈이 등록되었습니다. 이상하다 싶어, @Primary 와 @Order(n) 을 주고 다시 테스트 해봤지만, 영향을 주지 않았습니다. 질문: 위와 같이 @Bean 메서드 순서에 영향을 받는 이유가 궁금합니다. 이 결과로 @ConditionalOnClass 의 인식되는 FQCN 의 조건을 바꿔보기도 하고, 위치도 바꿔봤는데, 이렇다할 동작방식을 파악하기 힘들었습니다. 그리고 @Primay 나 @Order 를 붙여가며 추가적인 등록순서에 대해 테스트를 진행했으나, 이것들 역시 영향을 주지 않았습니다. 여러 곳에서 알아본 바, @Bean 메서드는 등록순서에 영향을 주지 않는것으로 알고있었는데, 이런 경우에는 어떤 매커니즘이 동작하는지가 궁금합니다. 이 결과를 보고 생각에 혼란이 와서 질문을 드리게 되었어요. 혹시 제가 놓친것이 있다면 조언을 부탁드려도 되겠습니까? 읽어주셔서 감사합니다☺️
@EntityGraph(attributePaths = "team") List<Member> findEntityGraphByUsername(@Param("username")String username); 이번 강의를 복습하다 보니까 강사님께서 @Param을 사용하셨더라구요.(강의 20:59) findByAge(), findOptionalByUsername()과 같은 메소드는 @Param 애노테이션 없이도 잘 동작 했는데 따로 특별한 이유가 있는 것일까요?