묻고 답해요
169만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 부트 - 핵심 원리와 활용
서블릿 컨테이너 초기화 2 강의 듣는 중..
다음과 같은 에러가 발생합니다."C:\Program Files\Java\jdk-17\bin\java.exe" -javaagent:C:\Users\Administrator\AppData\Local\JetBrains\Toolbox\apps\IDEA-C\ch-0\223.8836.41\lib\idea_rt.jar=58224:C:\Users\Administrator\AppData\Local\JetBrains\Toolbox\apps\IDEA-C\ch-0\223.8836.41\bin -Dfile.encoding=x-windows-949 -classpath C:\tool\tomcat-runner\tomcat-runner\bin\bootstrap.jar;C:\tool\tomcat-runner\tomcat-runner\bin\commons-daemon.jar;C:\tool\tomcat-runner\tomcat-runner\bin\tomcat-juli.jar;C:\tool\tomcat-runner\tomcat-runner\lib\annotations-api.jar;C:\tool\tomcat-runner\tomcat-runner\lib\catalina-ant.jar;C:\tool\tomcat-runner\tomcat-runner\lib\catalina-ha.jar;C:\tool\tomcat-runner\tomcat-runner\lib\catalina-ssi.jar;C:\tool\tomcat-runner\tomcat-runner\lib\catalina-storeconfig.jar;C:\tool\tomcat-runner\tomcat-runner\lib\catalina-tribes.jar;C:\tool\tomcat-runner\tomcat-runner\lib\catalina.jar;C:\tool\tomcat-runner\tomcat-runner\lib\ecj-4.26.jar;C:\tool\tomcat-runner\tomcat-runner\lib\el-api.jar;C:\tool\tomcat-runner\tomcat-runner\lib\jakartaee-migration-1.0.6-shaded.jar;C:\tool\tomcat-runner\tomcat-runner\lib\jasper-el.jar;C:\tool\tomcat-runner\tomcat-runner\lib\jasper.jar;C:\tool\tomcat-runner\tomcat-runner\lib\jaspic-api.jar;C:\tool\tomcat-runner\tomcat-runner\lib\jsp-api.jar;C:\tool\tomcat-runner\tomcat-runner\lib\servlet-api.jar;C:\tool\tomcat-runner\tomcat-runner\lib\tomcat-api.jar;C:\tool\tomcat-runner\tomcat-runner\lib\tomcat-coyote.jar;C:\tool\tomcat-runner\tomcat-runner\lib\tomcat-dbcp.jar;C:\tool\tomcat-runner\tomcat-runner\lib\tomcat-i18n-cs.jar;C:\tool\tomcat-runner\tomcat-runner\lib\tomcat-i18n-de.jar;C:\tool\tomcat-runner\tomcat-runner\lib\tomcat-i18n-es.jar;C:\tool\tomcat-runner\tomcat-runner\lib\tomcat-i18n-fr.jar;C:\tool\tomcat-runner\tomcat-runner\lib\tomcat-i18n-ja.jar;C:\tool\tomcat-runner\tomcat-runner\lib\tomcat-i18n-ko.jar;C:\tool\tomcat-runner\tomcat-runner\lib\tomcat-i18n-pt-BR.jar;C:\tool\tomcat-runner\tomcat-runner\lib\tomcat-i18n-ru.jar;C:\tool\tomcat-runner\tomcat-runner\lib\tomcat-i18n-zh-CN.jar;C:\tool\tomcat-runner\tomcat-runner\lib\tomcat-jdbc.jar;C:\tool\tomcat-runner\tomcat-runner\lib\tomcat-jni.jar;C:\tool\tomcat-runner\tomcat-runner\lib\tomcat-util-scan.jar;C:\tool\tomcat-runner\tomcat-runner\lib\tomcat-util.jar;C:\tool\tomcat-runner\tomcat-runner\lib\tomcat-websocket.jar;C:\tool\tomcat-runner\tomcat-runner\lib\websocket-api.jar;C:\tool\tomcat-runner\tomcat-runner\lib\websocket-client-api.jar org.apache.catalina.startup.Bootstrap start3월 19, 2023 5:15:29 오후 org.apache.catalina.core.StandardContext setPathWARNING: 컨텍스트 경로는 반드시 빈 문자열이거나, 또는 '/'로 시작하고 '/'로 끝나지 않는 문자열이어야 합니다. 해당 경로 [/]은(는) 이 조건을 충족시키지 않아 [](으)로 변경되었습니다.3월 19, 2023 5:15:29 오후 org.apache.catalina.startup.VersionLoggerListener logINFO: 서버 버전 이름: Apache Tomcat/10.1.73월 19, 2023 5:15:29 오후 org.apache.catalina.startup.VersionLoggerListener logINFO: Server 빌드 시각: Feb 27 2023 20:25:27 UTC3월 19, 2023 5:15:29 오후 org.apache.catalina.startup.VersionLoggerListener logINFO: Server 버전 번호: 10.1.7.03월 19, 2023 5:15:29 오후 org.apache.catalina.startup.VersionLoggerListener logINFO: 운영체제 이름: Windows 113월 19, 2023 5:15:29 오후 org.apache.catalina.startup.VersionLoggerListener logINFO: 운영체제 버전: 10.03월 19, 2023 5:15:29 오후 org.apache.catalina.startup.VersionLoggerListener logINFO: 아키텍처: amd643월 19, 2023 5:15:29 오후 org.apache.catalina.startup.VersionLoggerListener logINFO: 자바 홈: C:\Program Files\Java\jdk-173월 19, 2023 5:15:29 오후 org.apache.catalina.startup.VersionLoggerListener logINFO: JVM 버전: 17.0.6+9-LTS-1903월 19, 2023 5:15:29 오후 org.apache.catalina.startup.VersionLoggerListener logINFO: JVM 벤더: Oracle Corporation3월 19, 2023 5:15:29 오후 org.apache.catalina.startup.VersionLoggerListener logINFO: CATALINA_BASE: C:\tool\tomcat-runner\tomcat-runner3월 19, 2023 5:15:29 오후 org.apache.catalina.startup.VersionLoggerListener logINFO: CATALINA_HOME: C:\tool\tomcat-runner\tomcat-runner3월 19, 2023 5:15:29 오후 org.apache.catalina.startup.VersionLoggerListener logINFO: 명령 행 아규먼트: -javaagent:C:\Users\Administrator\AppData\Local\JetBrains\Toolbox\apps\IDEA-C\ch-0\223.8836.41\lib\idea_rt.jar=58224:C:\Users\Administrator\AppData\Local\JetBrains\Toolbox\apps\IDEA-C\ch-0\223.8836.41\bin3월 19, 2023 5:15:29 오후 org.apache.catalina.startup.VersionLoggerListener logINFO: 명령 행 아규먼트: -Dfile.encoding=x-windows-9493월 19, 2023 5:15:29 오후 org.apache.catalina.core.AprLifecycleListener lifecycleEventINFO: 프로덕션 환경들에서 최적의 성능을 제공하는, APR 기반 Apache Tomcat Native 라이브러리가, 다음 java.library.path에서 발견되지 않습니다: [C:\Program Files\Java\jdk-17\bin;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\Program Files\Common Files\Oracle\Java\javapath;C:\oraclexe\app\oracle\product\11.2.0\server\bin;C:\Program Files (x86)\NAT Service;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Program Files\nodejs\;C:\Tools\jdk-16.0.1\bin;C:\Program Files\Git\cmd;C:\Program Files\MySQL\MySQL Shell 8.0\bin\;C:\Users\Administrator\AppData\Local\Microsoft\WindowsApps;C:\Users\Administrator\AppData\Local\Programs\Microsoft VS Code\bin;C:\Users\Administrator\AppData\Local\JetBrains\Toolbox\scripts;.]3월 19, 2023 5:15:30 오후 org.apache.coyote.AbstractProtocol initINFO: 프로토콜 핸들러 ["http-nio-8080"]을(를) 초기화합니다.3월 19, 2023 5:15:30 오후 org.apache.catalina.startup.Catalina loadINFO: [366] 밀리초 내에 서버가 초기화되었습니다.3월 19, 2023 5:15:30 오후 org.apache.catalina.core.StandardService startInternalINFO: 서비스 [Catalina]을(를) 시작합니다.3월 19, 2023 5:15:30 오후 org.apache.catalina.core.StandardEngine startInternalINFO: 서버 엔진을 시작합니다: [Apache Tomcat/10.1.7]3월 19, 2023 5:15:30 오후 org.apache.jasper.servlet.TldScanner scanJarsINFO: 적어도 하나의 JAR가 TLD들을 찾기 위해 스캔되었으나 아무 것도 찾지 못했습니다. 스캔했으나 TLD가 없는 JAR들의 전체 목록을 보시려면, 로그 레벨을 디버그 레벨로 설정하십시오. 스캔 과정에서 불필요한 JAR들을 건너뛰면, 시스템 시작 시간과 JSP 컴파일 시간을 단축시킬 수 있습니다.MyContainerInitV1.onStartupMyContainerInitV1 c = nullMyContainerInitV1 ctx = org.apache.catalina.core.ApplicationContextFacade@4c5474f5MyContainerInitV2.onStartupMyContainerInitV2 c = [class hello.container.AppInitV1Servlet, class hello.container.AppInitServlet]MyContainerInitV2 ctx = org.apache.catalina.core.ApplicationContextFacade@4c5474f5AppInitServlet.onStartupAppInitServlet.onStartup3월 19, 2023 5:15:30 오후 org.apache.catalina.core.ContainerBase startInternalSEVERE: 자식 컨테이너를 시작 중 실패했습니다.java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: 구성요소 [StandardEngine[Catalina].StandardHost[localhost].StandardContext[]]을(를) 시작하지 못했습니다. at java.base/java.util.concurrent.FutureTask.report(FutureTask.java:122) at java.base/java.util.concurrent.FutureTask.get(FutureTask.java:191) at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:878) at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:846) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1332) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1322) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:145) at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:871) at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:241) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) at org.apache.catalina.core.StandardService.startInternal(StandardService.java:428) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:913) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) at org.apache.catalina.startup.Catalina.start(Catalina.java:795) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:347) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:478)Caused by: org.apache.catalina.LifecycleException: 구성요소 [StandardEngine[Catalina].StandardHost[localhost].StandardContext[]]을(를) 시작하지 못했습니다. at org.apache.catalina.util.LifecycleBase.handleSubClassException(LifecycleBase.java:440) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:198) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1332) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1322) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:145) at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:871) ... 21 moreCaused by: java.lang.RuntimeException: java.lang.NullPointerException: Cannot invoke "jakarta.servlet.ServletRegistration$Dynamic.addMapping(String[])" because "helloServlet" is null at hello.container.MyContainerInitV2.onStartup(MyContainerInitV2.java:26) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:4875) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) ... 27 moreCaused by: java.lang.NullPointerException: Cannot invoke "jakarta.servlet.ServletRegistration$Dynamic.addMapping(String[])" because "helloServlet" is null at hello.container.AppInitServlet.onStartup(AppInitServlet.java:15) at hello.container.MyContainerInitV2.onStartup(MyContainerInitV2.java:24) ... 29 more3월 19, 2023 5:15:30 오후 org.apache.catalina.core.ContainerBase startInternalSEVERE: 자식 컨테이너를 시작 중 실패했습니다.java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: 자식 컨테이너를 시작 중 실패했습니다. at java.base/java.util.concurrent.FutureTask.report(FutureTask.java:122) at java.base/java.util.concurrent.FutureTask.get(FutureTask.java:191) at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:878) at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:241) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) at org.apache.catalina.core.StandardService.startInternal(StandardService.java:428) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:913) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) at org.apache.catalina.startup.Catalina.start(Catalina.java:795) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:347) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:478)Caused by: org.apache.catalina.LifecycleException: 자식 컨테이너를 시작 중 실패했습니다. at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:890) at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:846) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1332) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1322) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:145) at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:871) ... 13 moreCaused by: java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: 구성요소 [StandardEngine[Catalina].StandardHost[localhost].StandardContext[]]을(를) 시작하지 못했습니다. at java.base/java.util.concurrent.FutureTask.report(FutureTask.java:122) at java.base/java.util.concurrent.FutureTask.get(FutureTask.java:191) at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:878) ... 21 moreCaused by: org.apache.catalina.LifecycleException: 구성요소 [StandardEngine[Catalina].StandardHost[localhost].StandardContext[]]을(를) 시작하지 못했습니다. at org.apache.catalina.util.LifecycleBase.handleSubClassException(LifecycleBase.java:440) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:198) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1332) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1322) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:145) at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:871) ... 21 moreCaused by: java.lang.RuntimeException: java.lang.NullPointerException: Cannot invoke "jakarta.servlet.ServletRegistration$Dynamic.addMapping(String[])" because "helloServlet" is null at hello.container.MyContainerInitV2.onStartup(MyContainerInitV2.java:26) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:4875) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) ... 27 moreCaused by: java.lang.NullPointerException: Cannot invoke "jakarta.servlet.ServletRegistration$Dynamic.addMapping(String[])" because "helloServlet" is null at hello.container.AppInitServlet.onStartup(AppInitServlet.java:15) at hello.container.MyContainerInitV2.onStartup(MyContainerInitV2.java:24) ... 29 more3월 19, 2023 5:15:30 오후 org.apache.catalina.startup.Catalina startSEVERE: 필수 항목인 서버 구성요소가 제대로 시작되지 못하여, Tomcat이 시작될 수 없습니다.org.apache.catalina.LifecycleException: 자식 컨테이너를 시작 중 실패했습니다. at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:890) at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:241) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) at org.apache.catalina.core.StandardService.startInternal(StandardService.java:428) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:913) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) at org.apache.catalina.startup.Catalina.start(Catalina.java:795) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:347) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:478)Caused by: java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: 자식 컨테이너를 시작 중 실패했습니다. at java.base/java.util.concurrent.FutureTask.report(FutureTask.java:122) at java.base/java.util.concurrent.FutureTask.get(FutureTask.java:191) at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:878) ... 13 moreCaused by: org.apache.catalina.LifecycleException: 자식 컨테이너를 시작 중 실패했습니다. at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:890) at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:846) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1332) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1322) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:145) at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:871) ... 13 moreCaused by: java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: 구성요소 [StandardEngine[Catalina].StandardHost[localhost].StandardContext[]]을(를) 시작하지 못했습니다. at java.base/java.util.concurrent.FutureTask.report(FutureTask.java:122) at java.base/java.util.concurrent.FutureTask.get(FutureTask.java:191) at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:878) ... 21 moreCaused by: org.apache.catalina.LifecycleException: 구성요소 [StandardEngine[Catalina].StandardHost[localhost].StandardContext[]]을(를) 시작하지 못했습니다. at org.apache.catalina.util.LifecycleBase.handleSubClassException(LifecycleBase.java:440) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:198) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1332) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1322) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:145) at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:871) ... 21 moreCaused by: java.lang.RuntimeException: java.lang.NullPointerException: Cannot invoke "jakarta.servlet.ServletRegistration$Dynamic.addMapping(String[])" because "helloServlet" is null at hello.container.MyContainerInitV2.onStartup(MyContainerInitV2.java:26) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:4875) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) ... 27 moreCaused by: java.lang.NullPointerException: Cannot invoke "jakarta.servlet.ServletRegistration$Dynamic.addMapping(String[])" because "helloServlet" is null at hello.container.AppInitServlet.onStartup(AppInitServlet.java:15) at hello.container.MyContainerInitV2.onStartup(MyContainerInitV2.java:24) ... 29 more3월 19, 2023 5:15:30 오후 org.apache.coyote.AbstractProtocol pauseINFO: 프로토콜 핸들러 ["http-nio-8080"]을(를) 일시 정지 중3월 19, 2023 5:15:30 오후 org.apache.catalina.core.StandardService stopInternalINFO: 서비스 [Catalina]을(를) 중지시킵니다.3월 19, 2023 5:15:30 오후 org.apache.coyote.AbstractProtocol destroyINFO: 프로토콜 핸들러 ["http-nio-8080"]을(를) 소멸시킵니다.3월 19, 2023 5:15:30 오후 org.apache.catalina.loader.WebappClassLoaderBase clearReferencesObjectStreamClassCachesWARNING: Java 9 또는 이후 버전을 사용할 때에는, "--add-opens=java.base/java.io=ALL-UNNAMED" 을(를) JVM 명령행 아규먼트들에 추가해서, ObjectStream 캐시 메모리 릭 방지 옵션을 활성화할 필요가 있습니다. 또는 원하시는 경우, ObjectStream 클래스 캐시 메모리 릭 방지 옵션을 비활성화해서 이 경고 메시지를 없앨 수도 있습니다.3월 19, 2023 5:15:30 오후 org.apache.catalina.loader.WebappClassLoaderBase checkThreadLocalsForLeaksWARNING: ThreadLocal 메모리 누수 탐지를 위해서는 "--add-opens=java.base/java.lang=ALL-UNNAMED" 자바 명령 행 아규먼트를 추가하십시오. 또는 이 경고 메시지를 없애고 싶다면 ThreadLocal 메모리 누수 탐지 옵션을 비활성화 시키십시오.3월 19, 2023 5:15:30 오후 org.apache.catalina.loader.WebappClassLoaderBase clearReferencesRmiTargetsWARNING: Java 9에서 실행하면서 RMI Target 메모리 누수 탐지를 사용 가능하게 하려면, "--add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED"를 JVM 명령 행 아규먼트에 추가해야 합니다. 또는, RMI Target 메모리 누수 탐지를 사용불능 상태로 설정함으로써, 이 경고를 없앨 수도 있습니다.Process finished with exit code 0
-
미해결호돌맨의 요절복통 개발쇼 (SpringBoot, Vue.JS, AWS)
@ModelAttribute 사용시 @Valid
@RequestBody @Valid 사용시에 오류가 발생하면ControllerAdvice @ExceptionHandler(MethodArgumentNotValidException.class)로 잡을 수 있었습니다.하지만 @ModelAttribute를 사용하면ControllerAdvice @ExceptionHandler(MethodArgumentNotValidException.class)로 잡히지가 않습니다..제가 잘못한 부분이 있을까요?/author/presentation/AuthorControllergetAuthorListByNickname에서 오류가 잡을 수가 없습니다.ControllerAdvice는/global/error/ControllerAdvice에 있습니다.감사합니다~https://github.com/320Hwany/Webtoon
-
해결됨Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
GATEWAY-SERVICE 를 통하여 호출하지 않는 이유가 있을까요?
마이크로 서비스 사용간 (RestTemplate 혹은 Feign) 에서 Eureka 의 서비스 명으로 USER-SERVICE 같은 마이크로 서비스명을 통하여 직접 호출하면 결론적으로는 GATEWAY-SERVICE 를 통하여 사용했을때의 장점을 잃어버리는 것 같은데, 섹션 10 에서는 게이트웨이를 통하지 않고 직접 서비스를 호출하는 이유가 있을까요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
스프링데이터 JPA 상속 관련 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예[질문 내용]https://www.inflearn.com/questions/116505/%EC%A7%88%EB%AC%B8%EB%93%9C%EB%A6%BD%EB%8B%88%EB%8B%A4 위 내용을 읽고 이해한게 맞는지 질문하게 되었습니다.SpringDataJpaMemberRepository 인터페이스가 JpaRepository와 MemberRepository 인터페이스를 상속받는데"MemberRepository에 정의된 추상 메서드들을 SpringDataJpaMemberRepository에서 재정의할필요없이 JpaRepository 인터페이스에 기본적으로 정의되어 있는걸 상속받기 때문에 재정의 없이 바로 사용할 수 있다" 라고 이해했습니다.그러나 만약 JpaRepository에서 정의된 기본 기능 외에 다른 기능이 필요하다면SpringDataJpaMemberRepository 또는 부모인 MemberRepository에서 기능을 추가할 수 있는데,SpringDataJpaMemberRepository에 추가하게 되면 스프링데이터jpa의 의존도가 올라가지만 스프링데이터jpa가 제공하는 편의기능으로 사용이 사용하기 편하게 되고MemberRepository에 기능을 추가하게 되면 SpringDataJpaMemberRepository 에 간단히 내용을 적어 편하게 사용하는것보다는 복잡하지만, 대신에 스프링데이터Jpa의 의존도는 떨어진다.라고 이해했는데 맞는지 확인해주실 수 있으신가요?? :)
-
미해결스프링 부트 - 핵심 원리와 활용
./gradlew가 powershell에선 작동하는데 git bash에서는 작동 안되는 이유
안녕하세요 내장톰캣 강의를 따라하던 중 ./gradlew build에서 에러가 나서 문의드립니다. 현재 설정정보 사진으로 첨부합니다. 현재 인텔리제이 터미널로는 git bash를 사용하고 있습니다.다 17로 맞췄습니다. 그런데 신기한 점이 있는데 여기서 ./gradlew build --clean를 하면 build failed가 뜹니다. 하지만 powershell에선 성공합니다. jar 파일이 잘 생기구요그리고 powershell에서 java version를 확인하면 git bash와 동일합니다.여기서 git bash에서 gradlew 가 안되는 이유는 뭘까요?
-
미해결스프링 부트 웹 개발 입문 - 따라하며 배우기
menu_ins 질문.
기존 v1 코드가 중복되는 문제로 v2에 관련된 내용을 새로운 프로젝트로 작성 중에 있습니다.그런데 문제는 menu_ins 구조에서 다음과 같은 오류가 발생을 하고 있습니다.There was an unexpected error (type=Internal Server Error, status=500).nested exception is org.apache.ibatis.binding.BindingException: Parameter 'strCoffee' not found. Available parameters are [arg2, arg1, arg0, param3, param1, param2]org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.binding.BindingException: Parameter 'strCoffee' not found. Available parameters are [arg2, arg1, arg0, param3, param1, param2] 대충봐도 파라미터 인덱스 배열의 순서가 불일치 하고 파라미터 인자값의 문제인것 같아 이부분을 확인하다 결국 기존의 코드를 그대로 복사 붙여넣기를 해도 진전이 없습니다. 어떤상황에 처하면 이러한 오류가 발생하는지를 알고 싶습니다.
-
미해결[개정판 2023-11-27] Spring Boot 3.x 를 이용한 RESTful Web Services 개발
ResponseEntity created
return ResponseEntity.created(URI.create("/Member/"+id)).build(); 이렇게 코드 이동을 시켰느데 Header에 Location의 경로에는 이동하고 싶은 URI가 있지만 화면은 빈 화면을 보여줍니다. 어떻게 이동할 수 있나요?? 선생님께서 작성하신대로해도 Header의 Location의 경로은 저렇게 있지만 실행하면 빈 화면만나옵니다. 원하는 메시지와 함께 이동을 원할 시 어떻게 해야 할까요?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
내용 관련 질문
정확히 개발에서 domain이란게 어떤 뜻인가요 ?개발 대상의 범위? 정도로 이해하고 있는데 정확히 어떤 뜻으로 사용되는 건가요 궁금합니다..!
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
동적쿼리
안녕하세요! 아직 강의를 다 듣지는 않았지만, 궁금한게 있어 질문드립니다! 제가 현재 진행해야 하는 프로젝트는 동적으로 쿼리를 생성하는 게 중요합니다. 테이블에 10개의 컬럼이 있다면, 2개를 선택해서 보여줄 수도, 3개를 선택해서 보여줄 수도 다양한 조합으로 보여줘야 합니다. 저는 node.js와 flask로 웹을 개발한 경험이 있는데요, 컬럼을 리스트(또는 배열)로 받고 for문을 돌려가면서 컬럼 and 컬럼 and ... 이런 식으로 문자열을 만든 다음 select문 문자열에 for문 돌리면서 만든 문자열을 넣어서 예를 들면 select {컬럼조합} from 테이블 이런 식으로 만든 뒤 실행시켰거든요. 문자열만 잘 작성하면 그 문자열대로 바로 실행이 되니 오히려 쉽다고 느꼈습니다. 근데 스프링부트는 쿼리 수행이 굉장히 정적이라는 느낌인데요....제가 아직 공부 중이라 잘은 모르겠으나 어디서는 조회하고자 하는 컬럼에 대한 인터페이스를 만들라고 하는데, 그 조합이 한두개가 아닌지라.....그걸 하나하나 만들 수도 없고요...이건 where조건도 마찬가지고 join도 마찬가지고요...다른 프레임워크에서는 쉽게 가능하던걸 springboot가 바보 프레임워크가 아닌 이상 지원 안해주는 건 말이 안될 거 같고 이런 걸 어떻게 해야 하는 걸까요?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
P6spy의 가독성(?)이 이상합니다
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]사진이 잘 보이시는지 모르겠지만 쿼리문이 가로로 길게만 나타납니다.참고로 스프링부트는 3.x 버전이고 콘솔창 좌측에 소프트 랩 버튼또한 설정이되어있습니다.
-
미해결실전! 코틀린과 스프링 부트로 도서관리 애플리케이션 개발하기 (Java 프로젝트 리팩토링)
shared entitymanager proxy for target factory 빨간 줄 안내
import com.querydsl.jpa.impl.JPAQueryFactory import javax.persistence.EntityManager import org.springframework.context.annotation.Bean import org.springframework.context.annotation.Configuration @Configuration class QuerydslConfig ( private val em: EntityManager //<--- 빨간 줄 발생 ) { @Bean fun querydsl(): JPAQueryFactory { return JPAQueryFactory(em) } } 안녕하세요! 강의 잘 듣고 있습니다. 들으며 따라치다 궁금한 점이 생겨 질문드려요.강의에 나온대로 configuration을 작성하면 다음과 같이 빨간 줄이 발생하는 데 빌드에는 이상이 없어서 어떤 개념인지 궁금합니다.
-
해결됨스프링 시큐리티
예시로 들어주신 상황에 대한 의문점이 있습니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 여기서는 공격자가 이미지 태그를 이용해서 특정 주소로의 요청을 보내도록 유도하는 것 같은데, 이 경우에는 GET 메서드로 요청을 보내므로 따로 csrf 토큰을 검사하지 않으니, 여전히 공격에 취약하다고 봐야 하지 않나요?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
쿼리파라미터 남기기
스프링 부트 3.0 이상에서는 강의에서 쿼리 파라미터 남기기 부분이 실행되지 않습니다. 어떻게 해야 하나요 ?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
Cannot resolve method 'run(Class String[])'가 Cannot resolve symbol 'String' 와 같은 오류인가요?
1. 강의 내용과 관련된 질문인가요? (○예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (○예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (○예/아니오) [질문 내용]안녕하세요.강사님께서 처음에 말씀하신 대로 설치했는데, 아래와 같은 오류가 떴습니다. 두 가지 오류의 원인(?)이 다른 것일 거라는 가정하에 첫 번째 것부터 구글링으로 JDK 버전을 선택하래서 해결했는데,두 번째 오류인 Cannot resolve method 'run(Class String[])'까지 모두 얼떨결에 해결되어 버렸습니다(?) 아! 해결됐다! 그리고 그냥 넘어가도 되는 사안인 건가요.. 아님 원인을 알고 가야 하나요...??두 번째 오류라고 나온 문장은 구글링 해봐도 계속 첫 번째 오류 문구 관련 글만 나오는데같은 오류인 건가요..?
-
미해결스프링 시큐리티 OAuth2
정수원님이 기술을 학습하시는 방법이 궁금합니다
안녕하세요 정수원님 우선 좋은 강의 만들어주셔서 감사합니다.강의와는 조금 다른 질문이지만 듣다보니 궁금한점이 생겨서 질문드립니다.예를 들어 Spring Security를 처음 학습하신다고 하면 어떤식으로 학습하시고, 내부구조를 디버깅해보시는지 궁금합니다.강좌에서보면 특정 클래스들에 break point를 걸고 디버깅하시는 모습을 보여주십니다.하지만 처음 Spring Security를 학습한다고 가정하면 어떤 클래스들이 핵심 역할을 하는지 파악하기 힘들것 같다고 느껴졌습니다. 개인적인 생각으로는 2가지 방법을 생각해 보았습니다.Spring Security Docs를 보고 주요 클래스들을 파악해본다WebMvcAutoConfiguration, SecurityAutoConfiguration등 클래스 하위로 파악해나간다 이에 대해 수원님은 어떤 방식으로 접근하시는지 궁금해서 질문 드립니다
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
h2.bat 실행후, H2 콘솔에서 연결을 누르면 오류가 뜹니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.안녕하세요 강의 잘 듣고 있습니다.window 운영체제라서 h2.bat 실행후 콘솔창이 떠서 연결을 누르면 아래 오류가 뜨는데이런 오류가 뜹니다. 왜그런 걸까요?
-
해결됨스프링 부트 - 핵심 원리와 활용
한글이 깨지고 로그가 안찍히네요 ㅠ
톰켓 설정 강의에서 하라는 대로 실행을 하였더니 페이지는 잘 뜨는데 한글이 깨지고 TestServlet.service 로그가 안찍히는데 왜그러는지 모르겠어요 ㅠ
-
미해결스프링 부트 - 핵심 원리와 활용
외부 파일 주입
안녕하세요, 외부 파일 경우, application.properties를 만들어두고,서 강의와 같이 url=dev.db.com23 username=dev_user23 password=dev_pw23를 저장해 두었더니, 2023-03-18T10:44:03.240+09:00 INFO 17556 --- [ main] hello.EnvironmentCheck : env url=dev.db.com232023-03-18T10:44:03.240+09:00 INFO 17556 --- [ main] hello.EnvironmentCheck : env username=um9502023-03-18T10:44:03.240+09:00 INFO 17556 --- [ main] hello.EnvironmentCheck : env password=dev_pw23 라고 출력이 됩니다. username만 제대로 나오지 않는데요, 현재 출려고딘 um950이 제 윈도우 계정이거든요...뭔가 더 높은 우선순위로 잡혀있는 것 같은데 이 부분은 어디서 고치거나/확인 할 수 있을까요...?
-
해결됨스프링 배치
JdbcBatchItemWriter Query
안녕하세요 선생님!JdbcBatchItemWriter 에서 발생하는 Query 가batch query 로 나가지 않는 것 같아서 질문 드립니다! 혹시 jdbc 에서 batch query 로 보내더라도 optimizer 에 의해단일쿼리로 변경되어서 나갈수도 있나요?! 감사합니다. 위 사진은 MySQL 의 Query Log 입니다. 제 설정은 아래와 같습니다@Configuration class HelloJobConfiguration( private val jobBuilderFactory: JobBuilderFactory, private val stepBuilderFactory: StepBuilderFactory, private val dataSource: DataSource, ) { @Bean fun job(): Job { return jobBuilderFactory.get("job") .incrementer(RunIdIncrementer()) .start(step1()) .build() } @Bean fun step1(): Step { return stepBuilderFactory.get("step1") .chunk<Customer, Customer>(5) .reader(customItemReader()) .writer(customItemWriter()) .build() } @Bean fun customItemReader(): ItemReader<Customer> { return JdbcPagingItemReaderBuilder<Customer>() .name("jdbcPagingItemReader") .dataSource(dataSource) .pageSize(5) .rowMapper(BeanPropertyRowMapper(Customer::class.java)) .queryProvider(queryProvider()) .build() } @Bean fun queryProvider(): PagingQueryProvider { return SqlPagingQueryProviderFactoryBean().apply { setDataSource(dataSource) setSelectClause("SELECT id, firstName, lastName, birthdate") setFromClause("FROM customer") setSortKeys(mapOf("id" to Order.ASCENDING)) }.`object` } @Bean fun customItemWriter(): ItemWriter<Customer> { return JdbcBatchItemWriterBuilder<Customer>() .dataSource(dataSource) .sql("INSERT INTO customer2 values(:id, :firstName, :lastName, :birthdate);") .beanMapped() .build() } }
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
안녕하세요 조언을 얻고싶습니다.
제가 강의를 보면서 토이 프로젝트로 게시판을 만들고 있습니다.그래서 엔티티 관계도를 만들어봤고 아래는 제가 구현해 놓은 관계도 입니다.그런데 여기서 궁금한 점이 있습니다.이렇게 해도 괜찮은가요? Question, Answer, Comment가 SiterUser에 너무 의존하는거 같아서 의구심이 듭니다. 셋 다 작성자, 추천 필드로 인해 과도하게 연관을 지었나 싶습니다.마이페이지에서 해당 유저의 작성글과 댓글을 모으는 부분도 구현하려고 하는데 그러면 SiteUser부분에 questionList, AnswerList, CommentList를 추가해 양방향으로 볼 수 있도록 할지 아니면 DB에서 그냥 유저의 아이디와 일치하는 글들을 끌어오는 방식을 할지 고민이 됩니다.