묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 부트 - 핵심 원리와 활용
server 프로젝트에대해 문의드립니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.안녕하세요. servlet에서 처음 프로젝트강의하는거보다가 궁금한게 있어서 질문드립니다.server프로젝트에 mybatis를 연계를 하고싶은데.방법이 있을까요?기존에 이클립스에서 스프링을하다보니..web.xml파일은 어디에 설정해줘야하는지 궁금합니다. 두서없는글이지만 읽어주셔서 감사합니다.
-
미해결스프링 부트 - 핵심 원리와 활용
AppInitV1Servlet 사용시 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용] 안녕하세요, AppInitV1Servlet 를 사용할때, 02 pdf. 21쪽 HandlesTypes 를 사용하지도 않았는데, 어떻게 AppInitV1Servlet이 등록 된 것인가요..? MyContainerInitV2에서는 서블릿컨테이너 초기화 시점에, @HandlesTypes(AppInit.class)를 통해 지정해 주어set<Class<?>> c.... 를 통해 넣는 것은 이해가 되는데,이 과정이 자동으로 일어난것인가요?자동으로 일어났다고 보기에, Appinit은 직접 만든 인터페이스여서 이해가 되지 않습니다... 설명 부탁드립니당
-
미해결스프링 부트 - 핵심 원리와 활용
Jar 파일로 서버 실행 시키키 VS IDE에서 서버 실행시키기
안녕하세요. 지금까지 영한님의 강의를 잘 들어온 수강생입니다. 지금까지 들었던 강의들을 기반으로 현재 프로젝트를 진행하고 있는데, 프로젝트를 진행하던 중 도저히 이유를 알수가 없는 문제가 생겨서 해당 질문이 강의의 내용과 무관함에도 불구하고, 질문을 올리게 되었습니다.문제 상황은 다음과 같습니다.프로젝트를 IntelliJ 상에서 실행하는 경우에 특정 HTTP 요청이 정상적으로 처리가 되는데, 동일한 소스코드를 기반으로 IntelliJ에 있는 Gradle의 bootJar로 Jar 파일을 생성한 뒤, 터미널에서 "java -jar 파일이름.jar" 커맨드를 통해 서버를 실행시키면 위에서 보낸 요청과 동일한 요청이 정상적으로 처리가 되지 않습니다.동일한 소스 코드에 단지 IDE 상에서 실행시키느냐, bootJar로 Jar 파일을 만들어 실행시키느냐 그 차이만 존재하는데, 한쪽은 제대로 동작하고, 다른 한쪽은 제대로 동작하지 않으니 도대체 무슨 이유로 동작하지 않는건지 모르겠습니다.혹시 의심해볼만한 부분이 있다면 알려주시면 감사하겠습니다.
-
미해결실습으로 배우는 그라파나 - {{ x86-64, arm64 }}
그라파나(9.3.8) 버전 기준 slack 으로 이미지 전송
그라파나 9.3.8 버전을 사용중에 있는데 그래프 이미지 랜더링 까지는 되는데 이것을 slack 으로 보내는 방법은 찾기가 좀 힘들더군요. 해당 방법 좀 공유 가능하실까요?
-
미해결실습으로 배우는 그라파나 - {{ x86-64, arm64 }}
그라파나 알람 리스트 대시보드도 가능할까요?
그라파나에서 알람이 설정된 패널들에 대해 현재 상태 리스트를 보여주는 대시보드를 만드는 것에 대한 공유 가능하실까요?현재 상태란 알람 상태(팬딩, fire,) 이고 오버뷰도 존재해서 전체 몇개 알람이 있고 그중에 알람이 몇개 작동하고 있는 그런 뷰도 있었으면 좋겠네요.감사합니다.
-
미해결스프링 부트 - 핵심 원리와 활용
스프링부트 버전 문의
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]안녕하세요 영한님! 이번 강의에서 프로젝트 생성하실 때 "스프링 부트 3.x 대 이상으로 하셔야 합니다" 라고 말씀해주셨는데 2.x대 버전이 아닌 3.x 대로 해야하는 특별한 이유가 있을까요~? 3.x 대의 업데이트에 대한 내용은 공식문서와 많은 블로그에 나와있어서 확인을 했는데 혹시 강의에 있어서 특별한 이유가 있는지 궁금합니다~!
-
미해결스프링 부트 - 핵심 원리와 활용
라이브러리 관련 질문
안녕하세요.김영한 강사님. Spring boot 프로젝트를 라이브러리(jar)로 만들 때 질문이 있습니다. Spring boot에 있는 내장 tomcat과 관련해서 여쭤보고 싶습니다.(Spring boot 플러그인을 사용하는 경우) Spring boot를 쓰는 프로젝트를 라이브러리로 만들고,다른 Spring boot프로젝트에서 쓰는 경우 내장 tomcat 관련 문제는 없나요?(exclude module: 'spring-boot-starter-tomcat'로 라이브러리가 된 프로젝트에서 tomcat은 제외했습니다) 혹시 만약 문제가 있을 경우에는 보통 어떻게 대처하나요? 추가로 개인 프로젝트에서 비슷한 상황에 대한 질문이 있습니다.spring boot 프로젝트에서 redis를 사용하고 있습니다. redis의 repository를 사용하고 있습니다.(org.springframework.data.repository.CrudRepository) 이걸 다른 spring boot 프로젝트에서 사용할 때,저 repository bean을 생성을 못 하는 것 같은데 라이브러리를 쓰는 프로젝트에서 main에 @ComponentScan으로 라이브러리의 패키지를 주면 그때는 생성합니다. 자동구성 설정에서 scan 범위 관련해서 설정하는 게 있을까요?
-
미해결스프링 부트 - 핵심 원리와 활용
FatJar에 대해 문의드립니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. jar -xvf embed-0.0.1-SNAPSHOT.jar압축을풀면아래와같은 디렉토리가 생성됨과 동시에jar풀면서 오류가 발생하는데 이게 맞을까요??,,혹시 해결방법이 있는지 문의드립니다.
-
미해결스프링 부트 - 핵심 원리와 활용
wls2 에서 도커로 프로메테우스 띄운것에 관하여
저는 wsl2에서 spring-actuator를 실행하고 있습니다.wsl2 ip = 192.168.31.32 라 설정을 다음과 같이 했습니다. scrape_configs: - job_name: "prometheus" static_configs: - targets: ["192.168.31.32:9090"] - job_name: "spring-actuator" metrics_path: '/actuator/prometheus' scrape_interval: 1s static_configs: - targets: ['192.168.31.32:8080'] docker run --name prometheus -p 19090:9090 -v /home/tony/vscode/boot-source-20230228/start/prometheus-grafana/prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus9090이 wsl2에서 netsh interface ipv4 show excludedportrange protocol=tcp 명령어를 쳤을때 exclude 에 속한 포트라 19090으로 뚫었습니다.하지만 spring은 잘 연결되는데 prometheus 자신은 되지를 않네요 설정을 19090으로 해도 안되고 별 짓을 다해봤는데혹시 되시는 분 있으신가요?
-
해결됨스프링 부트 - 핵심 원리와 활용
오타 제보
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]여기에 질문 내용을 남겨주세요.강의자료 9. 마이크로미터, 프로메테우스, 그라파나.pdf마이크로미터라(Micrometer)는 -> 마이크로미터(Micrometer)라는
-
미해결스프링 부트 - 핵심 원리와 활용
intellij 무료버전 tomcat runner 무반응으로 강의 진행이 불가능합니다.
https://www.inflearn.com/questions/856870/intellij-%EB%AC%B4%EB%A3%8C%EB%B2%84%EC%A0%84-tomcat-runner-%EC%8B%A4%ED%96%89-%EC%98%A4%EB%A5%98이 글과 동일하게 configuration에서 tomcat runner를 클릭해도 무반응입니다.plugin이 설치되어 있고 활성화 된 상태인데 제대로 작동이 안되네요.캐시 삭제를 해도 해결되지 않습니다. 다른 plugin들은 설치 시 잘 작동합니다.
-
해결됨스프링 부트 - 핵심 원리와 활용
테스트 코드 on demand static import 관련 질문입니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (있을 수 있는데 못찾았습니다.)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (아니오)[질문 내용]안녕하세요..!테스트 코드 작성하실 때 import static org.assertj.core.api.Assertions.*;이렇게 스태틱 임포트하시는 이유가 궁금합니다.Assertions.assertThat(bean).isNotNull(); assertThat(bean).isNotNull(); -> 스태틱 임포트두 코드의 차이가 궁금합니다.테스트코드인 것과 관련이 있다고 생각하고 있습니다.하지만 조금 더 구체적인 이유를 알려주시면 감사하겠습니다.
-
미해결스프링 부트 - 핵심 원리와 활용
build.grade 파일이 어디있나요 ?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.
-
미해결스프링 부트 - 핵심 원리와 활용
[intellij 무료버전]tomcat runner 실행 오류
안녕하세요 인프런 스프링 부트 수업을 듣는 학생입니다.다름이 아니라 intellij 무료버전을 사용하면서 수업을 듣고 있는데 tomcat runner를 실행하려고 하면 오류가 발생합니다. tomcat runner을 눌러도 저런 상태가 지속됩니다.tomcat runner을 재설치해도 같은 상황입니다.에러 내용을 찾아보니 위치 문제인것 같은데 해결 방안을 모르겠습니다.ㅠㅠplugin에 tomcat runner가 disable 상태라고 뜨는데 해결 방법이 있을까요??
-
미해결스프링 부트 - 핵심 원리와 활용
SEVERE: A child container failed during start LifecycleException: Failed to start component 해결방법
java -jar embed-0.0.1-SNAPSHOT.jar 시아래와 같이 에러가 발생하는 경우org.apache.catalina.core.ContainerBase startInternal SEVERE: A child container failed during start java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [org.apache.catalina.webresources.StandardRoot@247bddad] 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:923) at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:886) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1393) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1383) 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:916) at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:252) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) at org.apache.catalina.core.StandardService.startInternal(StandardService.java:430) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:926) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) at org.apache.catalina.startup.Tomcat.start(Tomcat.java:485) at hello.embed.EmbedTomcatSpringMain.main(EmbedTomcatSpringMain.java:36) Caused by: org.apache.catalina.LifecycleException: Failed to start component [org.apache.catalina.webresources.StandardRoot@247bddad] 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.StandardContext.resourcesStart(StandardContext.java:4829) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:4962) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1393) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1383) 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:916) ... 16 more Caused by: java.lang.IllegalArgumentException: The main resource set specified [C:\embed\build\libs\tomcat.8080\webapps\] is not valid at org.apache.catalina.webresources.StandardRoot.createMainResourceSet(StandardRoot.java:777) at org.apache.catalina.webresources.StandardRoot.startInternal(StandardRoot.java:734) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) ... 25 moremain 클래스에 코드를 수정하면 정상적으로 에러가 발생하지 않습니다.public class EmbedTomcatSpringMain { public static void main(String[] args) throws LifecycleException, IOException { System.out.println("EmbedTomcatSpringMain.main"); // 톰캣 설정 // 톰캣 설정 Tomcat tomcat = new Tomcat(); ... // 스프링 MVC 디스패처 서블릿 생성, 스프링 컨테이너 연결 ... String docBase = Files.createTempDirectory("tomcat-basedir").toString(); // 디스패처 서블릿 등록 Context context = tomcat.addContext("", docBase); ... tomcat.start(); } } 참고)맥북 사용자가 아닌 윈도우 사용자이기 때문에윈도우에서 나타나는 에러를 공유드렸습니다.맥북은 따로 확인하지 못하기 때문에 공유한 부분에 대해 양해해주세요.
-
미해결스프링 부트 - 핵심 원리와 활용
NoClassDefFoundError가 아닌 UnsupportedClassVersionError가 뜨는 경우 해결방법
NoClassDefFoundError가 아닌 UnsupportedClassVersionError가 발생하는 경우 java 버전이 하위 버전인 경우일 때 나타나는 것을 확인했습니다.자바 17 버전으로 하셔야 강의처럼 NoClassDefFoundError가 나타납니다.아래는 8, 11 버전에 대한 에러를 확인해서 공유드립니다ㅎㅎError: A JNI error has occurred, please check your installation and try again Exception in thread "main" java.lang.UnsupportedClassVersionError: hello/embed/EmbedTomcatSpringMain has been compiled by a more recent version of the Java Runtime (class file version 61.0), this version of the Java Runtime only recognizes class file versions up to 52.0 at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:756) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) at java.net.URLClassLoader.defineClass(URLClassLoader.java:468) at java.net.URLClassLoader.access$100(URLClassLoader.java:74) at java.net.URLClassLoader$1.run(URLClassLoader.java:369) at java.net.URLClassLoader$1.run(URLClassLoader.java:363) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:362) at java.lang.ClassLoader.loadClass(ClassLoader.java:418) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:355) at java.lang.ClassLoader.loadClass(ClassLoader.java:351) at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:601)위의 에러는 java8 버전일 때 나타나는 에러입니다.Error: LinkageError occurred while loading main class hello.embed.EmbedTomcatSpringMain java.lang.UnsupportedClassVersionError: hello/embed/EmbedTomcatSpringMain has been compiled by a more recent version of the Java Runtime (class file version 61.0), this version of the Java Runtime only recognizes class file versions up to 55.0위의 에러는 java11 버전일 때 나타나는 에러입니다. 프로젝트랑 환경변수가 java17로 되어 있어도 cmd나 터미널을 이용해서 자바버전을 확인하세요
-
미해결스프링 부트 - 핵심 원리와 활용
WAR 빌드에 관한 질문입니다
War파일의 압축을 풀 때 window cmd에서 jar -xvf server-0.0.1-SNAPSHOT.war명령어를 칠 때 'jar'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다. 라는 문구가 자꾸 나옵니다. java랑 javac 설치 되어있는데도 오류가 나고 구글링을 해봐도 답을 찾을 수가 없습니다 ㅠㅠ
-
미해결스프링 부트 - 핵심 원리와 활용
모니터링
좋은 강의 올려주셔서 정말 감사합니다. spring boot, jvm을 모니터링하고 있는데 system cpu, proess cpu 같은 치수들을 보면서 무엇이 위험한 수치이고 어떻게 대응해야 하는 지 감이 오지 않아서제 나름대로 공식 문서나 구글링을 찾아보곤 하는데 혹시 어떤 문서를 읽는 것이 좋은 가요? 예를 들면 cpu 사용량이 0.006정도 되는데 얼마의 치수가 되면 위험하고 대응해야 하는 지 궁금합니다... 읽어주셔서 정말 감사합니다.
-
미해결스프링 부트 - 핵심 원리와 활용
com.gorylenko.gradle-git-properties 스프링부트 2 에서 안됨.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]강의에서는 Springboot 3 + JDK 17 환경인데요.com.gorylenko.gradle-git-properties 플러그인을 build.gradle 에 반영하고, build 하면 강의에서 보여주신 것처럼 git.properties 파일이 정상적으로 생성됩니다.그러나, SpringBoot 2.7 + JDK 11 환경에서 동일하게 작업해보면, git.properties 파일이 생성되지 않습니다.com.gorylenko.gradle-git-properties 플러그인의 버전 호환성 문제일까요?
-
미해결스프링 부트 - 핵심 원리와 활용
프로메테우스, 그라파나 설치 서버 위치
[질문 내용]강의에서는 프로메테우스와 그라파나를 개발용 PC 와 같은 localhost 에 설치하였는데,이것은 강의 교육용이기 때문에 localhost 에 설치한 것인가요?실제 운영시에는 프로메테우스 서버 또는 그라파나 서버를 별도로 운영하나요?