묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 부트 - 핵심 원리와 활용
인텔리제이 무료버전 Deployment directory 설정 문제
소스 코드의 server 프로젝트 빌드하고메뉴얼을 따라 tomcat을 설정하는 중Deployment directory 파일 설정 부분에서.gradle 과 build 폴더가 보이지 않는 문제가 발생하고 있습니다혹시 제가 뭔가를 잘못했나 싶어 프로젝트를 지우고여러번 반복해 봤는데 똑같은 상황이 반복 중입니다저의 문제가 아닌 것 같아 문의 드립니다저는 최신 버전 IntelliJ IDEA 2023.3.4 (Community Edition) 를 사용 중입니다smart tomcat 버전은 4.7.2 이구요
-
미해결스프링 부트 - 핵심 원리와 활용
메트릭 게이지는 Aop하게 사용하지 못하나요??
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]@Counted , @Timed 처럼 게이지도 Aop로 만들어 사용할 수 있나요??
-
미해결스프링 부트 - 핵심 원리와 활용
pinpoint 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]강의와 직접적인지는 고민되지만 몇일 해보고 안되서 도움을 요청드립니다. pinpoint 에서 servermap 으로 모니터링하면 agent 포함된 각각의 마이크로 서비스의 흐름도가 보여야만 하는데 application만 보입니다... api 가 호출되는건 보이는데 db 나 mq 쪽은 보이지 않더라고요... java11을 사용중이고 pinpoint config 에서는 db나 mq설정은 true로 되어 있습니다. 강의 후에 연습해보려고 시도했는데(docker network로 구성) 구글링도 많이 해봤지만 생각보다 잘되지 않아 커뮤니티에 글을 남깁니다. 감사합니다!
-
미해결스프링 부트 - 핵심 원리와 활용
프로메테우스에 jvm_info가 없습니다!
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)네2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)네3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)네[질문 내용]State가 Up이기도 하고 프로메테우스 연동도 잘 됩니강의에서 봤던 다른 것들은 정상적으로 다 조회가 되는데, 유일하게 'jvm_info'라는 것만 조회가 되지 않습니이는 어떤 이유일까요?
-
해결됨스프링 부트 - 핵심 원리와 활용
java -Dspring.profiles.active=dev -jar .\external-0.0.1-SNAPSHOT.jar 오류가 발생합니다
[질문 내용]java -Dspring.profiles.active=dev -jar .\external-0.0.1-SNAPSHOT.jar -D 옵션을 빼고 실행하면 잘 작동하는데, -D를 붙이면 오류가 납니다. Error: Could not find or load main class .profiles.active=devCaused by: java.lang.ClassNotFoundException: /profiles/active=dev 현재 환경 변수는 아래와 같이 설정해두었습니다.JAVA_HOME = C:\Program Files\Java\jdk-17CLASSPATH = %JAVA_HOME%\lib CLASSPATH를 아래와 같이 바꾸는 방법도 해봤는데 안되네요. CLASSPATH = %JAVA_HOME%\lib;. Build - Gradle 설정은 아래와 같습니다. https://www.inflearn.com/questions/819583/could-not-find-or-load-main-class-%EC%97%90%EB%9F%AC-%ED%95%B4%EA%B2%B0 여기에 나와있는 해결책 2개는 모두 적용해봤습니다.
-
미해결실습으로 배우는 그라파나 - {{ x86-64, arm64 }}
9.9 강의 그라파나 대시보드에 JSON 파일 import 오류
안녕하세요! 9.9강에서 그라파나 대시보드에 다운로드 받은 JSON 파일을 import 하면'No alerts matching filters' 문구가 나오면서 대시보드에 패널이 보이지 않습니다. 이유를 알 수 있을까요?
-
미해결스프링 부트 - 핵심 원리와 활용
username만 다르게 뜹니다.
프로필 적용할 때부터 이렇게 username은 다르게 뜨는데 어떻게 해야될까요?
-
미해결스프링 부트 - 핵심 원리와 활용
@profile 여러개 설정방법
안녕하세요@Profile 어노테이션 사용할때 여러개의 환경일때 빈을 가져오고싶다하면@Profile(“test1”, “test2”), @Profile(“test1|test2”)위의 예시중에 어떤방식이 맞는건지 그리고 어떻게 가져오는건지 내부를 확인하고싶으면 어디를 확인하면 좋을지 질문드립니다
-
미해결스프링 부트 - 핵심 원리와 활용
HealthProperties 질문입니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요. 지난 강좌들 중에서 @ConfigurationProperties로 외부 설정 파일을 주입받아서 안전한 설정값 객체를 만들 수 있다는 것을 배웠습니다. 그리고 이번 강좌에서 management.endpoint.health 속성 하위에 show-componnents, show-details 속성에 대해서 설명해주셨는데, 실제로 어떤 객체가 생성되는지 궁금해서 살펴보니 HealthEndPointProperties 라는 클래스에 값들이 담기더라구요. 그런데 HealthEndPointProperties는 HealthProperteis를 상속받고 있고 HealthEndPointProperties의 inner class로 HealthProperteis를 상속받은 Group 클래스가 있고 Group 클래스는 HealthEndPointProperties의 필드에 Map의 제네릭으로 들어가있더라구요그러면 여기서 Group 클래스도 프로퍼티를 입력받아서 그 값이 저장되는 객체인가요? 외부 설정을 받을 수 있는 객체라면 저장되는 값들의 예시는 무엇일까요..?
-
미해결스프링 부트 - 핵심 원리와 활용
스프링부트 배포관련 질문드립니다
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]안녕하세요 강의 너무 잘 듣고 있습니다기초적인 질문드립니다^^;다수의 개발자가 하나의 웹 프로젝트를 진행하는데 스프링부트는 어떻게 배포해야되나요? 각각 jar 가 생성되니 jar별 port를 넣어서 띄워야 되는지? 아님 모든 개발자의 소스를 합쳐서 jar 를 생성해야되는지? 아님 다른 방식으로 하는지 궁금합니다너무 기초적인 질문이라 ^^;감사합니다
-
미해결스프링 부트 - 핵심 원리와 활용
스프링 적용부터 오류가 납니다.
스프링 부트 섹션2 수업 듣고 있었는데 스프링을 적용하면서 부터 이런 오류가 납니다. 21-Jan-2024 15:54:59.610 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent 프로덕션 환경들에서 최적의 성능을 제공하는, 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 (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\NVIDIA Corporation\NVIDIA NvDLISR;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Program Files\nodejs\;C:\Program Files\Git\cmd;C:\Program Files\Java\jdk-17\bin;C:\Users\LNH\AppData\Local\Microsoft\WindowsApps;C:\Users\LNH\AppData\Local\Programs\Microsoft VS Code\bin;C:\Users\LNH\AppData\Roaming\npm;C:\Program Files\nodejs;C:\Program Files\JetBrains\IntelliJ IDEA 2023.2.2\bin;;C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2023.2.2\bin;;C:\Users\LNH;C:\Program Files\Java\jdk-17\bin;;C:\Program Files (x86)\ESTsoft\ALSee\x64;.]21-Jan-2024 15:54:59.864 INFO [main] org.apache.coyote.AbstractProtocol.init 프로토콜 핸들러 ["http-nio-8080"]을(를) 초기화합니다.21-Jan-2024 15:54:59.883 INFO [main] org.apache.catalina.startup.Catalina.load [507] 밀리초 내에 서버가 초기화되었습니다.21-Jan-2024 15:54:59.925 INFO [main] org.apache.catalina.core.StandardService.startInternal 서비스 [Catalina]을(를) 시작합니다.21-Jan-2024 15:54:59.926 INFO [main] org.apache.catalina.core.StandardEngine.startInternal 서버 엔진을 시작합니다: [Apache Tomcat/10.1.18]21-Jan-2024 15:54:59.940 INFO [main] org.apache.catalina.startup.HostConfig.deployDescriptor 배치 descriptor [C:\Users\LNH\.SmartTomcat\server\server\conf\Catalina\localhost\ROOT.xml]을(를) 배치합니다.21-Jan-2024 15:55:00.118 SEVERE [main] org.apache.catalina.startup.HostConfig.deployDescriptor 배치 descriptor [C:\Users\LNH\.SmartTomcat\server\server\conf\Catalina\localhost\ROOT.xml]을(를) 배치하는 중 오류 발생java.lang.IllegalStateException: 자식 컨테이너를 시작하는 중 오류 발생at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:686)at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:658)at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:712)at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:643)at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1939)at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)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:123)at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:536)at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:426)at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1661)at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:309)at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:114)at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:402)at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:345)at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:893)at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:845)at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:171)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:866)at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:240)at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:171)at org.apache.catalina.core.StandardService.startInternal(StandardService.java:433)at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:171)at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:917)at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:171)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)... 이런 오류가 나고 404에러가 뜹니다. 이것저것 시도해봤지만 혼자서는 해결이 안 돼서요 ㅠㅠㅠㅠ
-
미해결실습으로 배우는 그라파나 - {{ x86-64, arm64 }}
5.7 table 패널 실습문의
안녕하세요5.7 실습하는 과정에서 아래와 같이 설정하였는데 No data로 나오고 있어서요 설정해줘야하는 부분이 있을까요?
-
미해결스프링 부트 - 핵심 원리와 활용
게이지 관련 질문
[질문 내용]- 재고와 같은 것을 조회하기 위해서는 일반적으로 WAS 서버에 저장하기보다 DB에 저장을 하는것으로 아는데 그러면 게이지 측정할때마다 DB에 요청이 가게 되는건가요??? 실무에서는 어떻게 하는 지 궁금합니다 ! 매초마다 DB에 요청이 가게 되면 성능에도 문제가 갈수있을거같은데 redis와 같은 캐시를 사용하는건지... 어렵네요
-
해결됨스프링 부트 - 핵심 원리와 활용
현재 SpringBoot 3.2.1 부터 @ConfigurationProperties 를 사용한 설정값 바인딩에 이슈가 있는것 같습니다.
안녕하세요! 질문 내용은 제목과 같습니다. 스프링부트 3.2.1 부터 @ConfigurationProperties 가 동작하지 않는것 같습니다. 확실하지 않지만 스텍오버플로우에도 비슷한 이슈가 올라온 상태인것 같습니다. https://stackoverflow.com/questions/77703018/spring-boot-3-2-1-properties-binding 스프링부트 3.2.1 에서 저는 아래와 같은 익셉션이 발생합니다,plugins { id 'java' id 'org.springframework.boot' version '3.2.1' id 'io.spring.dependency-management' version '1.1.4' }token: expired: 20s secret-key: test-key@ToString @AllArgsConstructor @ConfigurationProperties(prefix = "token") public class TokenProperties { private Duration expired; private String secretKey; }@Slf4j @RequiredArgsConstructor @Component @EnableConfigurationProperties(TokenProperties.class) public class TokenConfiguration { private final TokenProperties tokenProperties; @PostConstruct void init() { log.info("tokenProperties = {}", tokenProperties); } }*************************** APPLICATION FAILED TO START *************************** Description: Failed to bind properties under 'token' to revi1337.configurationpropertiesdemo.property.TokenProperties: Reason: java.lang.IllegalStateException: Unable to create instance for revi1337.configurationpropertiesdemo.property.TokenProperties This may be due to missing parameter name information Action: Update your application's configuration이 상태에서 스프링 버전을 3.1.5 으로 다운그레이드하면 정상동작합니다.plugins { id 'java' id 'org.springframework.boot' version '3.1.5' id 'io.spring.dependency-management' version '1.1.4' } 현재 스프링 3.2.1 에서 뭐 바뀐게 있을까요? 제가 무언가를 잘못했을 확률이 대단히 높지만 제가 찾아볼때는 명확한 해결방법이 3.1.5 로 다운그레이드하는 방법밖에 나오지가 않네요.. 확인좀 부탁드리곘습니다
-
미해결스프링 부트 - 핵심 원리와 활용
AppInitV2Spring 오류 및 AppInitV3SpringMvc 미동작 문의
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]"스프링 컨테이너 등록" 강의에서 작성하는 코드HelloConfig, HelloController, AppInitV2Spring 이렇게 작성하게 되는데요. 무료버전의 톰캣 설정 문제가 아니라는 것은 이전 강의 V1까지는 제대로 실행이 완료된 상태입니다.그래서 V1까지는 잘 되었으나 AppInitV2Spring 코드를 작성하고 빌드하면IllegalStateException: 자식 컨테이너를 시작하는 중 오류 발생 -> caused by LifecycleException: 구성요소[StandardEngine[Catalina].StandardHost[localhost].StandardContext[]]을(를) 시작하지 못했습니다.-> caused by java.lang.NoClassDefFoundError-> ClassNotFoundException 형태로 오류가 뜹니다.자세한 오류는 맨 아래 첨부합니다. 신기한건 기존에 war 파일 형태로 빌드($gradlew build)하여tomcat/libs/webapps에 ROOT.war 로 올리고 톰캣을 별도로 실행한다음에localhost:8080/spring/hello-spring주소를 입력하고 테스트 할 때는 잘뜨니까 미치겠습니다. ..ㅜㅜ 오류가 나니 AppInitV2Spring 내용은 주석처리하고 다음강의인 AppInitV3SpringMvc를 작성했는데요. 해당 onStartup()은 호출부터 안되네요... "AppInitV3SpringMvc.onStartup" 부터 로그가 안찍힙니다..이것 역시 혹시나...? 하고 war파일로 빌드하여 톰캣 webapps에 넣고 직접 톰캣 실행 후 localhost:8080/hello-springlocalhost:8080/spring/hello-spring.. 전부 잘됩니다.... ㅠㅠ MyContainerInitV1.onStartup MyContainerInitV1 c = null MyContainerInitV1 ctx = org.apache.catalina.core.ApplicationContextFacade@5a411614 MyContainerInitV2.onStartup MyContainerInitV2 c = [class hello.container.AppInitV1Servlet, class hello.container.AppInitV2Spring] MyContainerInitV2 ctx = org.apache.catalina.core.ApplicationContextFacade@5a411614 AppInitV1Servlet.onStartup 10-Jan-2024 19:59:26.303 SEVERE [main] org.apache.catalina.startup.HostConfig.deployDescriptor 배치 descriptor [C:\Users\oksu\.SmartTomcat\server\server\conf\Catalina\localhost\ROOT.xml]을(를) 배치하는 중 오류 발생 java.lang.IllegalStateException: 자식 컨테이너를 시작하는 중 오류 발생 at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:686) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:658) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:712) at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:643) at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1939) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) 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:123) at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:536) at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:426) at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1661) at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:309) at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:114) at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:402) at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:345) at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:893) at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:845) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:171) 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:866) at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:240) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:171) at org.apache.catalina.core.StandardService.startInternal(StandardService.java:433) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:171) at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:917) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:171) 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:419) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:186) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:683) ... 37 more Caused by: java.lang.NoClassDefFoundError: org/springframework/web/context/WebApplicationContext at java.base/java.lang.Class.getDeclaredConstructors0(Native Method) at java.base/java.lang.Class.privateGetDeclaredConstructors(Class.java:3373) at java.base/java.lang.Class.getConstructor0(Class.java:3578) at java.base/java.lang.Class.getDeclaredConstructor(Class.java:2754) at hello.container.MyContainerInitV2.onStartup(MyContainerInitV2.java:22) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:4850) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:171) ... 38 more Caused by: java.lang.ClassNotFoundException: org.springframework.web.context.WebApplicationContext at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1353) at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1165) ... 45 more 10-Jan-2024 19:59:26.312 INFO [main] org.apache.catalina.startup.HostConfig.deployDescriptor 배치 descriptor [C:\Users\oksu\.SmartTomcat\server\server\conf\Catalina\localhost\ROOT.xml]의 배치가 [747] 밀리초 내에 완료되었습니다. 10-Jan-2024 19:59:26.315 INFO [main] org.apache.coyote.AbstractProtocol.start 프로토콜 핸들러 ["http-nio-8080"]을(를) 시작합니다. 10-Jan-2024 19:59:26.491 INFO [main] org.apache.catalina.startup.Catalina.start 서버가 [996] 밀리초 내에 시작되었습니다. http://localhost:8080/ 10-Jan-2024 20:02:05.720 INFO [Thread-1] org.apache.coyote.AbstractProtocol.pause 프로토콜 핸들러 ["http-nio-8080"]을(를) 일시 정지 중 10-Jan-2024 20:02:05.748 INFO [Thread-1] org.apache.catalina.core.StandardService.stopInternal 서비스 [Catalina]을(를) 중지시킵니다. 10-Jan-2024 20:02:05.749 INFO [Thread-1] org.apache.coyote.AbstractProtocol.stop 프로토콜 핸들러 ["http-nio-8080"]을(를) 중지시킵니다. 10-Jan-2024 20:02:05.755 INFO [Thread-1] org.apache.coyote.AbstractProtocol.destroy 프로토콜 핸들러 ["http-nio-8080"]을(를) 소멸시킵니다.
-
미해결스프링 부트 - 핵심 원리와 활용
[공유]허용되지 않는 메서드 (http://localhost:8080/hello-servlet)
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]프로그래밍 방식으로 서블릿 등록 후혹시 http://localhost:8080/hello-servlet 호출 할때 허용되지 않는 메서드 나오시는분들은 HelloServlet 에 super.service(req,resp); 호출 되고 있는지 확인 해보세요..!
-
해결됨스프링 부트 - 핵심 원리와 활용
autoconfiguration 관련 질문
[질문 내용]강의 예제에서 스프링부트에서 DBConfig 클래스 생성해서 @Configuration을 달고 안에서 관련 빈들을 스프링컨테이너에 등록을 하니 기존 자동구성에 의해 등록되는 빈은 이미 개발자가 등록한 빈에 의해 따로 추가적으로 등록이 안되는 걸로 이해했습니다. 그러면 이러한 빈을 등록하는 순서가 추가적인 설정이 없다면 항상 개발자가 등록한 빈부터 등록하고 이후에 스프링 부트의 자동 구성에 의한 빈등록이 일어나는건가요?? starter와 같은 라이브러리를 gradle에 사용해서 추가해주면 자동으로 수많은 빈들이 생성해서 스프링 컨테이너에 등록되는 걸로 이해했습니다. 해당 라이브러리 내에 있는 수많은 빈들 중에 사용을 원하지 않는 것들도 있을텐데, 그러한 것도 모두 등록이 되는건가요?? 아니면 사용을 안하는 빈들은 따로 등록이 되지 않는 기능들도 스프링 부트에 있나요??감사합니다 !
-
미해결스프링 부트 - 핵심 원리와 활용
실전 스프링부트 강의를 수강하기전에
커리큘럼에 있는 전 강의들을 전부 수강하는게 필수일까요 ...ㅠㅠ? 시간이 애매해서 스프링부트부터 수강하고 나중에 스프링 보충하는 식으로 하고 싶은데 어떻게 해야할지 도저히 감이 잡히질 않습니다..
-
미해결스프링 부트 - 핵심 원리와 활용
window gradlew build 에러
The supplied javaHome seems to be invalid. I cannot find the java executable. Tried location: C:\Program Files\Java\jdk-11.0.13\bin\java.exe에러위와 같은 에러가 발생합니다. 하지만 사진에서 보듯 JAVA_HOME은 jdk17로 설정이 되어있고,환경 변수 설정이 제대로 동작하고 있음을 확인할 수 있습니다. 그러나 gradlew build를 진행하면 변경전 jdk11을 계속 실행하려고 해서 오류가 발생합니다. settings -> gradle 도 17로 잘 설정되어있습니다.Project Structure -> Project에 들어가도 잘 설정되어있습니다. 삽질 중인데... 도와주시면 감사하겠습니다 === 질문을 하고 한번더 실행해봤는데 성공하였습니다.Q) 왜 성공했는지 알 수 있을까요? cache 떄문에 그런것이었는지.. 아니면 환경변수 변경이 적용되기까지 시간이 걸리는 것인지요? 이 질문은 다른 분들을 위해 남겨두겠습니다!
-
미해결스프링 부트 - 핵심 원리와 활용
순수 라이브러리 만들기에서 memory.jar의 의존성 문제
순수 라이브러리 만들기에서 memory.jar를 외부 라이브러리로 만들때, 여기서 참조된 라이브러리가 jar파일에 포함되지 않을 것 같은데요.만약 memory.jar안에서 사용된 라이브러리가 참조한 프로젝트에 없을때 참조 오류가 발생할텐데…memory.jar안에 참조로 사용된 라이브러리를 포함하려면 어떻게 해야 할까요?저의 경우 프로젝트를 작은 단위로 나누어 프로젝트로 구성하고 autoconfiguration을 적용하려고 하는데 .. 참조하는 프로젝트에서 사용하지 않는 참조를 사용하는 경우가 다수 발생합니다. 좀더 자세한 상황을 첨부 합니다. memory.jar 에서 이 프로젝트에서만 사용하는 inflearn.jar를 참고하고 있습니다. 이 경우 memory.jar를 패키징하면 spring에서 사용하는 기술을 사용하지 않기 때문에 jar에 jar를 포함하지 못하고 fat jar로 빌드하지 않으면 inflearn.jar가 포함되지 않을 텐데요.그렇게 되면 memory.jar를 참조하는 프로젝트에서 inflearn.jar가 없어 오류가 발생할 것 같습니다. 또한, 그 반대로 위 문제 때문에 fat jar로 패키징하는 경우 참조하는 쪽의 라이브러리와 같은 라이브러리로 사용으로 충돌이 발생하는 문제는 없는지요..? 죄송하게도 제가 두 경우를 충분하게 테스트 후 질문을 드리려고 했으나 샘플을 구성하고 여러가지 시도 후 질문 하려면 너무 많이 시간이 걸릴 것 같아 (제가 만들 샘플의 해답이 정답인지도 확인이 어려움) 먼저 질문 올리고 제 생각처럼 실제 오류가 발생하는지는 테스트 하고 문제를 해결할 수 있는지도 같이 보도록 하겠습니다. 감사합니다.