묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
public void findAll() 부분에서 맨마지막줄에 숫자를 멀넣어도 오류가 안뜨는데 왜그런가요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
createMember 테스트코드
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]회원 웹 기능 - 등록 강의영상을 보다가 질문이 생겼습니다. 강의에서 get 주소에서 html 페이지로 멤버 이름을 받고 post로 이름을 넘기는 로직같은 경우, 실무에서는 어떻게 테스트 코드를 작성하나요? html까지 포함해서 동작하는 걸 확인할 수 있는 방법이 있나요?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
[수정 요망] orderList.html 코드 문제발생
관련링크입니다.https://www.inflearn.com/course/lecture?courseSlug=%EC%8A%A4%ED%94%84%EB%A7%81%EB%B6%80%ED%8A%B8-JPA-%ED%99%9C%EC%9A%A9-1&unitId=24311&tab=community&category=questionDetail&q=1109808해당 질문의 답변입니다. {T(jpabook.jpashop.domain.OrderStatus).values()}OrderStatus가 item에 담겨져 있네요{T(jpabook.jpashop.domain.item.OrderStatus).values()}로 바꿔보시죠pdf상에서 코드나 주의 표시로 해당 사항을 넣어주셨으면 좋겠습니다. 해당 오류때문에 너무 많은시간을 소비하였습니다. ㅜㅜ
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
Member - Order 연관관계
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]Member와 Order의 연관관계에서 가급적 단방향을 사용하라고 하셨는데,1: 특정 Member의 주문목록을 확인할 때는 Member 엔티티에서 별도의 orders라는 List를 만들지 말고 Order들에서 특정 Member를 가진 객체를 찾는 방식으로 접근하는게 좋다는 말씀으로 이해해도 괜찮을까요?2: 그렇다면 order - orderItem - item 의 경우 다대다 관계를 특정 테이블을 추가로 생성해서 일대다 다대일로 연관관계를 설정했는데, 이때도 단방향으로 유지하는게 좋은걸까요?
-
해결됨인프라공방 - 그럴듯한 서비스 만들기
강의자료 다운로드가 안됩니다..
맥 os이고 m1 사용중인데 강의자료 다운이 안됩니다.다운로드시 환불 불가 팝업이 떠서 수락하려고 다운로드 를 클릭하면 창이 닫히고 무한 반복이네요혹시 강의자료 이메일로 보내주실 수 있나요... ㅠ99jiasmin@gmail.com으로 부탁드립니다!
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
500에러가 떠요 컨트롤러 잘 작성하고 index파일로 잘 연결한거같은데
(사진)
-
해결됨실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
주문 조회V3 에서 쿼리가 4개 나온다고 하는데, 2개만 나옵니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. @GetMapping("/api/v3/orders") public List<OrderDto> orderV3() { List<Order> orders = orderRepository.findAllWithItem(); for (Order order: orders) { System.out.println("order ref = " + order + " id = " + order.getId()); } List<OrderDto> result = orders.stream() .map(o -> new OrderDto(o)) .collect(Collectors.toList()); return result; } ... public List<Order> findAllWithItem() { return entityManager.createQuery( "select o from Order o" + " join fetch o.member m" + " join fetch o.delivery d" + " join fetch o.orderItems oi" + " join fetch oi.item i", Order.class) .getResultList(); }이렇게 한 다음 v3 에게 요청을 넣었습니다.그 결과selecto1_0.order_id,d1_0.delivery_id,d1_0.city,d1_0.street,d1_0.zipcode,d1_0.status,m1_0.member_id,m1_0.city,m1_0.street,m1_0.zipcode,m1_0.username,o1_0.order_date,oi1_0.order_id,oi1_0.order_item_id,oi1_0.count,i1_0.item_id,i1_0.dtype,i1_0.name,i1_0.price,i1_0.stock_quantity,i1_0.artist,i1_0.etc,i1_0.author,i1_0.isbn,i1_0.actor,i1_0.director,oi1_0.order_price,o1_0.statusfromorders o1_0joinmember m1_0on m1_0.member_id=o1_0.member_idjoindelivery d1_0on d1_0.delivery_id=o1_0.delivery_idjoinorder_item oi1_0on o1_0.order_id=oi1_0.order_idjoinitem i1_0on i1_0.item_id=oi1_0.item_idorder ref = jpabook.jpashop.domain.Order@801a84d id = 1order ref = jpabook.jpashop.domain.Order@7be83ead id = 2 다음과 같은 SQL 쿼리를 보냈구요.그런데 4개가 아니라 2개라서 문의를 드립니다. 그런데 H2 DB에서 해당 쿼리를 입력하면 4개가 잘나옵니다.또한 포스트맨으로 받은 요청도 2개가 출력됩니다.[ { "orderId": 1, "name": "userA", "orderDate": "2024-03-18T23:29:35.545094", "orderStatus": "ORDER", "address": { "city": "서울", "street": "1", "zipcode": "11111" }, "orderItems": [ { "itemName": "JPA1 Book", "orderPrice": 10000, "count": 1 }, { "itemName": "JPA2 Book", "orderPrice": 20000, "count": 2 } ] }, { "orderId": 2, "name": "userB", "orderDate": "2024-03-18T23:29:35.555094", "orderStatus": "ORDER", "address": { "city": "부산", "street": "2", "zipcode": "22222" }, "orderItems": [ { "itemName": "Spring1 Book", "orderPrice": 20000, "count": 3 }, { "itemName": "Spring2 Book", "orderPrice": 40000, "count": 2 } ] } ]어떠한 것이 잘못되었는지 궁금합니다.
-
미해결실전! 스프링 데이터 JPA
@Modifying 에서 무조건 테스트 데이터가 커밋되고 있습니다
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요, 영한님.좋은 강의 늘 감사합니다. 최근에 제가 공부한 내용들을 정리하면서 포트폴리오를 만들고 있는데, 특이하게도 @Modifying 을 사용하는 코드를 테스트할 때만 해당 테스트의 데이터가 롤백 되지 않고 커밋되는 기이한 현상을 발견했는데, 혹시 아시는 바가 있으신가 해서 여쭤봅니다. @Modifying 을 사용하는 코드'만' 테스트할 때는 테스트 통과하고 데이터가 롤백됩니다.당연한 이야기지만, @Modifying 코드를 제외한 테스트가 통과하고 롤백됩니다.하지만 이들을 동시에 실행하면 @Modifying 에서 update 된 데이터들이 롤백되지 않고 남아 있어서 다른 데이터에 영향을 주게 됩니다. 회사에서도 벌크성 수정 쿼리를 이미 사용을 하고 있고, 그 코드들을 테스트함에 있어서 어떠한 이슈도 발생하지 않았는데 제 포트폴리오에서만 이런 이슈가 발생을 하네요... 트랜잭션 전파와 관련된 문제, h2 와 boot 버전(3.2.1.) 문제 등등 의심 되는 부분들 여러 가지로 고쳐보고 바꿔봐도 여전합니다. boot 도 3.0.x 대로 낮춰보기도 했고. stackoverflow, spring boot github 등에도 찾아봤습니다만 저와 같은 이슈를 겪는 사람은 보지 못 했습니다. 그렇다고 해서 테스트 때문에 제품 코드를 바꾸는 건 또 주객전도가 되니 테스트에 tearDown 으로 데이터를 날리려고 합니다. 그래도 발생한 이슈에 대해 정리하고 해결은 해야 하니 여전히 알아보고 있는 중입니다. 그중에 혹시 영한 님께서는 알고 계시는 바가 있으신가 해서 여쭤봅니다. 제 소스코드 repository 와 이슈가 발생하는 코드들을 남깁니다. 참고로 제 컴퓨터에서 테스트를 실패하는 상태 그대로를 올립니다. 혹시 필요하신 정보가 더 있으시면 말씀해주세요.감사합니다. 테스트 로그 https://drive.google.com/file/d/117sWM8NZa13wIWUc-XhCpYFdZ9oeIUK4/view?usp=sharing테스트의 로그 전부를 넣었습니다. 위에서 설명해드린 것처럼 @Modifying 테스트 이후 그 데이터가 남아서 다른 테스트들에 영향을 주는 것이기 때문에 실패하는 테스트는 매번 다릅니다.github https://github.com/psam1017/sunder-backend/tree/feat/teachermain 은 테스트를 통과하도록 변경감지를 사용한 상태이고, 위처럼 feat/teacher 브랜치에 실패하는 코드를 올렸습니다. @Modifying 사용 코드 - repository https://github.com/psam1017/sunder-backend/blob/feat/teacher/src/main/java/psam/portfolio/sunder/english/domain/academy/repository/AcademyCommandRepository.java@Modifying 사용 코드 - service https://github.com/psam1017/sunder-backend/blob/feat/teacher/src/main/java/psam/portfolio/sunder/english/domain/academy/service/AcademyCommandService.java#L245@Modifying 을 테스트하는 코드 https://github.com/psam1017/sunder-backend/blob/feat/teacher/src/test/java/psam/portfolio/sunder/english/scheduler/AcademySchedulerTest.java테스트 코드 설정 관련 코드 https://github.com/psam1017/sunder-backend/blob/feat/teacher/src/test/java/psam/portfolio/sunder/english/SunderApplicationTests.java
-
해결됨실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
default_batch_fetch_size 질문
안녕하세요 강의를 들으며, 토이 프로젝트에 jpa를 적용해보려하는데 문제가 생겨 질문을 드리게 되었습니다. default_batch_fetch_size를 사용하게 되면 @OneToMany관계를 가질 때 미리 지정된 개수만큼 join을 해서 가져오는 것으로 이해를 했습니다.여기서 페이징 처리를 하고 싶은데, default_batch_fetch_size를 이용해 얻은 값에서 원하는 값만 조회를 하고 싶습니다. 현재 문제는 user와 tag(사용자가 관심있는 태그), post가 있을 때, user와 tag가 N:M 관계,tag와 post가 N:M 관계를 갖습니다.각각을 1:N, N:1로 나타내기 위해 연결 테이블을 만들었습니다. PostRepository에서 user가 관심있는 태그에 해당하는 게시물을 페이징으로 가져오고 싶은데 default_batch_fetch_size를 이용하면 직접 접근이 불가능할 것 같은데 이런 경우에는 어떻게 해결할 수 있을까요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
SpringConfig에 직접 빈을 등록하면 생기는 오류
강의 내용은 대략 5~6분 사이입니다. SpringConfig에 @Bean으로 등록하면 ERROR 19552 --- [ main] o.s.b.d.LoggingFailureAnalysisReporter 오류가 뜹니다. @Bean public TimeTraceAop timeTraceAop() { return new TimeTraceAop(); }이걸 주석처리하고 TimeTraceAop에 컴포넌트 어노테이션을 붙이면 아래와 같이 정상 작동하구요https://drive.google.com/file/d/1nAqwhCllXZhRAwbWIzcwlH7sEnsEGaaw/view?usp=drive_link압축파일입니다!
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
순수 JPA 기반 리포지토리와 스프링 데이터 기반 리포지토리 비교
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.강의를 들으면서 느끼는데, 이렇게 순수 JPA기반 리포지토리로 저가 전부다 CRUD를 다 작성하고 해야하는데,JpaRepository를 그냥 상속하면 간단한 메서드로 다 구현이 가능하고 복잡한 내용은 @Query를 사용해서 쿼리를 작성하면 끝이 아닌가..? 라는 생각이 갑자기 들어서 질문을 합니다ㅜㅜ. 순수 JPA기반 리포지토리로 사용하는 이유가 뭘까요 실무에서는 어떻게 사용을 많이 하는 건가여?질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.
-
미해결스프링 배치
rest api writer 관련 질문있습니다.
청크 프로세스에서 마지막에 Output의 값으로 A, B 2개의 Rest api를 호출해야 하는 경우입니다.A는 성공했으나 B에서 실패했다면 롤백 처리를 해야할텐데요..다만 디비가 아니라 스프링 배치가 기본적으로 지원해주는 롤백은 불가능 할거라 생각합니다.. 이런 경우 어떤 식으로 롤백을 처리하는게 좋은 방법인지 궁금합니다..Skip, Rertry, 실패로 인한 Job 종료에 따라 전부 다를거라 생각합니다.Skip : A 롤백 후 다음 청크 프로세스 실행Retry : A 롤백 후 다시 현재 청크 프로세스 실행실패로 인한 Job 종료 : A 롤백 후 종료 이 3가지의 케이스에 대해 어떻게 롤백 처리를 하는게 좋을 지 질문드립니다
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
회원 등록을 해도 값이 안 뜨고 회원 목록을 봐도 값이 안 뜹니다 ..ㅠㅠ
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]https://drive.google.com/file/d/1RqKeCYuXgHV-bmUbtW9RgInVIn12FMtw/view?usp=drive_link
-
미해결[개정판 2023-11-27] Spring Boot 3.x 를 이용한 RESTful Web Services 개발
optional관련 질문
안녕하세요 강의 너무 잘보고 있습니다.!단순 궁금증이 있어서요.optional로 조회하고와서 if (!userOptional.isPresent()) { throw new UserNotFoundException("id-" + id); }위와 같이 선언ㅇ하셧는데요 isEmpty를 사용하지 않고 위와 같이 하는 이유가 궁금합니다.
-
미해결코드로 배우는 React with 스프링부트 API서버
jwt 10분 유효기간 끝나면 apiServer 쪽에서 Expired Exception 발생
jwt 10분 유효기간 끝난 상황에서jwtAxios를 이용해서 products 를 호출하면 JWTCheckFilter를 걸쳐서 validateToken 메서드를 호출하고 거기서 Exired Exception 이 납니다. accessToken 이 유효시간(10분)이 경과하였으면refreshToken 으로 교체되는 걸로 강의내용을 인지했었는데요. 제가 어디서 놓친건지 잘 모르겠네요 ㅠ react쪽에서 beforeReq 쪽에서 결국 expired 처리가되고brforeRes 에서 뭔가 유효기간이 끝났으면/api/member/refresh 를 호출해야될 것 같은데 예제 소스 잘 따라한거 filter에서 먼저 유효기간이 만료되어 exception 부터 호출되어 더이상 진행이 안되네요. 어디가 정확히 문제인지 모르겠네요.jwtUtil.js 는 제공해주신 소스는 오타가 있을까봐 동일하게 ctrl+c , v 도 했습니다. JWTUtil.java 일부분 public static Map<String, Object> validateToken(String token) { Map<String, Object> claim = null; try { SecretKey key = Keys.hmacShaKeyFor(JWTUtil.key.getBytes("UTF-8")); claim = Jwts.parserBuilder() .setSigningKey(key) .build() .parseClaimsJws(token) // 파싱 및 검증, 실패 시 에러 .getBody(); } catch (MalformedJwtException malformedJwtException) { throw new CustomJWTException("MalFormed"); } catch (ExpiredJwtException expiredJwtException) { throw new CustomJWTException("Expired"); } catch (InvalidClaimException invalidClaimException) { throw new CustomJWTException("Invalid"); } catch (JwtException jwtException) { throw new CustomJWTException("JWTError"); } catch (Exception e) { throw new CustomJWTException("Error"); } return claim; }
-
미해결코드로 배우는 React with 스프링부트 API서버
챕터 5 모달 처리 | Add 클릭 이후 모달창이 안떠요
모달창이 안떠서 settimeout으로 처리 하니Modal에 result 값이 true로 적용됩니다코드는 깃으로 올리겠습니다 선생님 강의에 올라와있는 ch06 파일 코드 넣어서 해봐도모달창이 안뜨네요 ㅜㅜ https://github.com/hyeonbin03/webstromhub
-
미해결스프링 부트 - 핵심 원리와 활용
servlet 페이지 오류
현재 tomcat 버전 8.5java 버전 17 입니다. 1.내장 톰캣 smart tomcat으로 실행하려고 하는데 /test 페이지로 들어갈 경우 404 에러가 발생합니다.추가로 서블릿컨테이너 초기화 시 onStartUp 함수에서 찍는 log가 출력이 안되고 있습니다.connected to server<<<라는 로그가 표시되지 않아도 연결된게 맞나요...? 8080에 접속하면 index.html은 잘 표시됩니다. "C:\Program Files\Zulu\zulu-17\bin\java.exe" "-Dcatalina.home=D:\교육 자료\01. 스프링 부트 - 핵심 원리와 활용\boot-source-20230228\start\tool\tomcat-runner" -Dcatalina.base=C:\Users\INNO-A-1353\.SmartTomcat\server\server -Djava.io.tmpdir=C:\Users\INNO-A-1353\.SmartTomcat\server\server\temp -Djava.util.logging.config.file=C:\Users\INNO-A-1353\.SmartTomcat\server\server\conf\logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2020.3.2\lib\idea_rt.jar=52152:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2020.3.2\bin" -Dfile.encoding=UTF-8 -classpath "D:\교육 자료\01. 스프링 부트 - 핵심 원리와 활용\boot-source-20230228\start\tool\tomcat-runner\bin\bootstrap.jar;D:\교육 자료\01. 스프링 부트 - 핵심 원리와 활용\boot-source-20230228\start\tool\tomcat-runner\bin\tomcat-juli.jar" org.apache.catalina.startup.Bootstrap startNOTE: Picked up JDK_JAVA_OPTIONS: --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED18-Mar-2024 10:38:03.335 정보 [main] org.apache.catalina.startup.VersionLoggerListener.log 서버 버전 이름: Apache Tomcat/8.5.9918-Mar-2024 10:38:03.339 정보 [main] org.apache.catalina.startup.VersionLoggerListener.log Server 빌드 시각: Feb 14 2024 22:52:13 UTC18-Mar-2024 10:38:03.340 정보 [main] org.apache.catalina.startup.VersionLoggerListener.log Server 버전 번호: 8.5.99.018-Mar-2024 10:38:03.340 정보 [main] org.apache.catalina.startup.VersionLoggerListener.log 운영체제 이름: Windows 1018-Mar-2024 10:38:03.340 정보 [main] org.apache.catalina.startup.VersionLoggerListener.log 운영체제 버전: 10.018-Mar-2024 10:38:03.340 정보 [main] org.apache.catalina.startup.VersionLoggerListener.log 아키텍처: amd6418-Mar-2024 10:38:03.340 정보 [main] org.apache.catalina.startup.VersionLoggerListener.log 자바 홈: C:\Program Files\Zulu\zulu-1718-Mar-2024 10:38:03.340 정보 [main] org.apache.catalina.startup.VersionLoggerListener.log JVM 버전: 17.0.10+7-LTS18-Mar-2024 10:38:03.340 정보 [main] org.apache.catalina.startup.VersionLoggerListener.log JVM 벤더: Azul Systems, Inc.18-Mar-2024 10:38:03.340 정보 [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_BASE: C:\Users\INNO-A-1353\.SmartTomcat\server\server18-Mar-2024 10:38:03.340 정보 [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_HOME: D:\교육 자료\01. 스프링 부트 - 핵심 원리와 활용\boot-source-20230228\start\tool\tomcat-runner18-Mar-2024 10:38:03.349 정보 [main] org.apache.catalina.startup.VersionLoggerListener.log 명령 행 아규먼트: --add-opens=java.base/java.lang=ALL-UNNAMED18-Mar-2024 10:38:03.349 정보 [main] org.apache.catalina.startup.VersionLoggerListener.log 명령 행 아규먼트: --add-opens=java.base/java.io=ALL-UNNAMED18-Mar-2024 10:38:03.349 정보 [main] org.apache.catalina.startup.VersionLoggerListener.log 명령 행 아규먼트: --add-opens=java.base/java.util=ALL-UNNAMED18-Mar-2024 10:38:03.349 정보 [main] org.apache.catalina.startup.VersionLoggerListener.log 명령 행 아규먼트: --add-opens=java.base/java.util.concurrent=ALL-UNNAMED18-Mar-2024 10:38:03.349 정보 [main] org.apache.catalina.startup.VersionLoggerListener.log 명령 행 아규먼트: --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED18-Mar-2024 10:38:03.349 정보 [main] org.apache.catalina.startup.VersionLoggerListener.log 명령 행 아규먼트: -Dcatalina.home=D:\교육 자료\01. 스프링 부트 - 핵심 원리와 활용\boot-source-20230228\start\tool\tomcat-runner18-Mar-2024 10:38:03.349 정보 [main] org.apache.catalina.startup.VersionLoggerListener.log 명령 행 아규먼트: -Dcatalina.base=C:\Users\INNO-A-1353\.SmartTomcat\server\server18-Mar-2024 10:38:03.349 정보 [main] org.apache.catalina.startup.VersionLoggerListener.log 명령 행 아규먼트: -Djava.io.tmpdir=C:\Users\INNO-A-1353\.SmartTomcat\server\server\temp18-Mar-2024 10:38:03.350 정보 [main] org.apache.catalina.startup.VersionLoggerListener.log 명령 행 아규먼트: -Djava.util.logging.config.file=C:\Users\INNO-A-1353\.SmartTomcat\server\server\conf\logging.properties18-Mar-2024 10:38:03.350 정보 [main] org.apache.catalina.startup.VersionLoggerListener.log 명령 행 아규먼트: -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager18-Mar-2024 10:38:03.350 정보 [main] org.apache.catalina.startup.VersionLoggerListener.log 명령 행 아규먼트: -javaagent:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2020.3.2\lib\idea_rt.jar=52152:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2020.3.2\bin18-Mar-2024 10:38:03.350 정보 [main] org.apache.catalina.startup.VersionLoggerListener.log 명령 행 아규먼트: -Dfile.encoding=UTF-818-Mar-2024 10:38:03.350 정보 [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent 프로덕션 환경들에서 최적의 성능을 제공하는, APR 기반 Apache Tomcat Native 라이브러리가, 다음 java.library.path에서 발견되지 않습니다: [C:\Program Files\Zulu\zulu-17\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:\Program Files\Zulu\zulu-17\bin\;C:\Program Files\Zulu\zulu-11\bin\;C:\Program Files\Zulu\zulu-21\bin\;C:\Program Files\Zulu\zulu-8\bin\;C:\Inprise\vbroker\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files\Git\cmd;C:\Program Files\dotnet\;C:\Program Files\TortoiseSVN\bin;C:\Users\INNO-A-1353\Documents\tmssoftware\TMS Component Pack\bpl\;;C:\Program Files (x86)\EurekaLab\EurekaLog 6\Delphi7;C:\Program Files\Bandizip\;C:\Program Files\PuTTY\;C:\Program Files\CMake\bin;C:\msys64\mingw64\bin;C:\Delphi7 Library\lib\TMS Component Pack\bpl\;C:\Program Files\Microsoft Windows Performance Toolkit\;C:\Program Files (x86)\Subversion\bin;C:\Program Files\nodejs\;D:\Python\Scripts\;D:\Python\;C:\Users\INNO-A-1353\AppData\Local\Microsoft\WindowsApps;C:\Users\INNO-A-1353\.dotnet\tools;C:\Users\INNO-A-1353\AppData\Local\Programs\Microsoft VS Code\bin;C:\Users\INNO-A-1353\AppData\Local\Programs\Python\Python311\Scripts;C:\Users\INNO-A-1353\AppData\Roaming\npm;C:\Program Files\Zulu\zulu-8\bin\;C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2020.3.2\bin;;C:\Program Files\Microsoft Visual Studio\2022\Professional\MSBuild\Current\Bin\;C:\Program Files\Zulu\zulu-11\bin\;C:\Program Files\Zulu\zulu-17\bin\;;.]18-Mar-2024 10:38:03.440 정보 [main] org.apache.coyote.AbstractProtocol.init 프로토콜 핸들러 ["http-nio-8080"]을(를) 초기화합니다.18-Mar-2024 10:38:03.465 정보 [main] org.apache.catalina.startup.Catalina.load Initialization processed in 778 ms18-Mar-2024 10:38:03.561 정보 [main] org.apache.catalina.core.StandardService.startInternal 서비스 [Catalina]을(를) 시작합니다.18-Mar-2024 10:38:03.562 정보 [main] org.apache.catalina.core.StandardEngine.startInternal 서버 엔진을 시작합니다: [Apache Tomcat/8.5.99]18-Mar-2024 10:38:03.599 정보 [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDescriptor 배치 descriptor [C:\Users\INNO-A-1353\.SmartTomcat\server\server\conf\Catalina\localhost\ROOT.xml]을(를) 배치합니다.18-Mar-2024 10:38:04.881 정보 [localhost-startStop-1] org.apache.jasper.servlet.TldScanner.scanJars 적어도 하나의 JAR가 TLD들을 찾기 위해 스캔되었으나 아무 것도 찾지 못했습니다. 스캔했으나 TLD가 없는 JAR들의 전체 목록을 보시려면, 로그 레벨을 디버그 레벨로 설정하십시오. 스캔 과정에서 불필요한 JAR들을 건너뛰면, 시스템 시작 시간과 JSP 컴파일 시간을 단축시킬 수 있습니다.18-Mar-2024 10:38:05.063 경고 [localhost-startStop-1] org.apache.catalina.util.SessionIdGeneratorBase.createSecureRandom [SHA1PRNG] 알고리즘을 사용하여, 세션 ID를 생성하기 위한 SecureRandom 객체를 생성하는데, [161] 밀리초가 소요됐습니다.18-Mar-2024 10:38:05.087 정보 [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDescriptor 배치 descriptor [C:\Users\INNO-A-1353\.SmartTomcat\server\server\conf\Catalina\localhost\ROOT.xml]의 배치가 [1,489] 밀리초 내에 완료되었습니다.18-Mar-2024 10:38:05.094 정보 [main] org.apache.coyote.AbstractProtocol.start 프로토콜 핸들러 ["http-nio-8080"]을(를) 시작합니다.18-Mar-2024 10:38:05.301 정보 [main] org.apache.catalina.startup.Catalina.start Server startup in 1835 ms build tool도 gradle로 설정 되어 있습니다.
-
미해결스프링과 JPA 기반 웹 애플리케이션 개발
HTML코드 및 강의 중간자료들
우선 강의중에 보여주셨던 HTML코드들에 대해서 행방을 알수가 없고 키를 강의마다 알려주신다는데 언제 알려주시는지 모르겠습니다.그래서 완성되어있던 파일에 있는 HTML파일들을 끌어다가 다시 완성시켰는데 코드자체에 CSS,Js가 적용되지 않고 에러가 뜨기도 합니다.Caused by: org.attoparser.ParseException: Exception evaluating SpringEL expression: "!hasNotification" (template: "fragments.html" - line 129, col 24) 혹시 최신화된 코드나 강의 진행도에 따른 코드 접근 방법이 있을까요...? 물론 제가 옛날 강의를 듣는것이다 보니 감수해야 하는 부분이겠지만 하나하나 알아가다보니 강의를 듣는 시간도 늘어지고 지치기 시작하는거 같습니다 시간이 지나면서 바뀌는 부분에 대해서 조금이라도 안내를 해주시거나, 주의할 부분이라던가 아니면 참고할만한 내용들을 추가해주시면 감사하겠습니다.
-
미해결실전! 코틀린과 스프링 부트로 도서관리 애플리케이션 개발하기 (Java 프로젝트 리팩토링)
빌드가 안되는 데 확인해 봐 주실 수 있나요?
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 빌드를 하면 아래와 같은 오류가 나옵니다. 9강 부터 소스를 받아 계속 업데이트 해본 소스입니다. java.lang.IllegalAccessError: superclass access check failed: class org.jetbrains.kotlin.kapt3.base.javac.KaptJavaCompiler (in unnamed module @0x41bcd726) cannot access class com.sun.tools.javac.main.JavaCompiler (in module jdk.compiler) because module jdk.compiler does not export com.sun.tools.javac.main to unnamed module @0x41bcd726 at java.base/java.lang.ClassLoader.defineClass1(Native Method) at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1018) at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:150) at java.base/java.net.URLClassLoader.defineClass(URLClassLoader.java:524) at java.base/java.net.URLClassLoader$1.run(URLClassLoader.java:427) at java.base/java.net.URLClassLoader$1.run(URLClassLoader.java:421) at java.base/java.security.AccessController.doPrivileged(AccessController.java:714) at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:420) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:593) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:526) at org.jetbrains.kotlin.kapt3.base.KaptContext.<init>(KaptContext.kt:68) at org.jetbrains.kotlin.kapt3.KaptContextForStubGeneration.<init>(KaptContextForStubGeneration.kt:40) at org.jetbrains.kotlin.kapt3.AbstractKapt3Extension.contextForStubGeneration(Kapt3Extension.kt:287) at org.jetbrains.kotlin.kapt3.AbstractKapt3Extension.analysisCompleted(Kapt3Extension.kt:171) at org.jetbrains.kotlin.kapt3.ClasspathBasedKapt3Extension.analysisCompleted(Kapt3Extension.kt:102) at org.jetbrains.kotlin.cli.jvm.compiler.TopDownAnalyzerFacadeForJVM$analyzeFilesWithJavaIntegration$2.invoke(TopDownAnalyzerFacadeForJVM.kt:115) at org.jetbrains.kotlin.cli.jvm.compiler.TopDownAnalyzerFacadeForJVM.analyzeFilesWithJavaIntegration(TopDownAnalyzerFacadeForJVM.kt:125) at org.jetbrains.kotlin.cli.jvm.compiler.TopDownAnalyzerFacadeForJVM.analyzeFilesWithJavaIntegration$default(TopDownAnalyzerFacadeForJVM.kt:99) at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler$analyze$1.invoke(KotlinToJVMBytecodeCompiler.kt:301) at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler$analyze$1.invoke(KotlinToJVMBytecodeCompiler.kt:55) at org.jetbrains.kotlin.cli.common.messages.AnalyzerWithCompilerReport.analyzeAndReport(AnalyzerWithCompilerReport.kt:113) at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.analyze(KotlinToJVMBytecodeCompiler.kt:292) at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.compileModules$cli(KotlinToJVMBytecodeCompiler.kt:102) at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.compileModules$cli$default(KotlinToJVMBytecodeCompiler.kt:60) at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecute(K2JVMCompiler.kt:172) at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecute(K2JVMCompiler.kt:54) at org.jetbrains.kotlin.cli.common.CLICompiler.execImpl(CLICompiler.kt:91) at org.jetbrains.kotlin.cli.common.CLICompiler.execImpl(CLICompiler.kt:43) at org.jetbrains.kotlin.cli.common.CLITool.exec(CLITool.kt:93) at org.jetbrains.kotlin.incremental.IncrementalJvmCompilerRunner.runCompiler(IncrementalJvmCompilerRunner.kt:471) at org.jetbrains.kotlin.incremental.IncrementalJvmCompilerRunner.runCompiler(IncrementalJvmCompilerRunner.kt:123) at org.jetbrains.kotlin.incremental.IncrementalCompilerRunner.compileIncrementally(IncrementalCompilerRunner.kt:367) at org.jetbrains.kotlin.incremental.IncrementalCompilerRunner.compileIncrementally$default(IncrementalCompilerRunner.kt:309) at org.jetbrains.kotlin.incremental.IncrementalCompilerRunner.compileImpl$rebuild(IncrementalCompilerRunner.kt:115) at org.jetbrains.kotlin.incremental.IncrementalCompilerRunner.compileImpl(IncrementalCompilerRunner.kt:167) at org.jetbrains.kotlin.incremental.IncrementalCompilerRunner.compile(IncrementalCompilerRunner.kt:77) at org.jetbrains.kotlin.daemon.CompileServiceImplBase.execIncrementalCompiler(CompileServiceImpl.kt:623) at org.jetbrains.kotlin.daemon.CompileServiceImplBase.access$execIncrementalCompiler(CompileServiceImpl.kt:101) at org.jetbrains.kotlin.daemon.CompileServiceImpl.compile(CompileServiceImpl.kt:1718) at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) at java.base/java.lang.reflect.Method.invoke(Method.java:578) at java.rmi/sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:360) at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:200) at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:197) at java.base/java.security.AccessController.doPrivileged(AccessController.java:714) at java.rmi/sun.rmi.transport.Transport.serviceCall(Transport.java:196) at java.rmi/sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:598) at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:844) at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:721) at java.base/java.security.AccessController.doPrivileged(AccessController.java:400) at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:720) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) at java.base/java.lang.Thread.run(Thread.java:1583) build.gradle 은 아래와 같습니다. plugins { id 'org.springframework.boot' version '2.6.8' id 'io.spring.dependency-management' version '1.0.11.RELEASE' id 'java' id 'org.jetbrains.kotlin.jvm' version '1.6.21' id 'org.jetbrains.kotlin.plugin.jpa' version '1.6.21' id 'org.jetbrains.kotlin.plugin.spring' version '1.6.21' id 'org.jetbrains.kotlin.kapt' version '1.6.21' // for queryDSL } group = 'com.group' version = '0.0.1-SNAPSHOT' sourceCompatibility = '11' repositories { mavenCentral() } dependencies { implementation 'org.springframework.boot:spring-boot-starter-data-jpa' implementation 'org.springframework.boot:spring-boot-starter-web' implementation 'org.jetbrains.kotlin:kotlin-stdlib-jdk8' implementation 'org.jetbrains.kotlin:kotlin-reflect:1.6.21' implementation 'com.fasterxml.jackson.module:jackson-module-kotlin:2.13.3' implementation 'com.querydsl:querydsl-jpa:5.0.0' kapt("com.querydsl:querydsl-apt:5.0.0:jpa") kapt("org.springframework.boot:spring-boot-configuration-processor") runtimeOnly 'com.h2database:h2' testImplementation 'org.springframework.boot:spring-boot-starter-test' } tasks.named('test') { useJUnitPlatform() } compileKotlin { kotlinOptions{ jvmTarget = "11" } } compileTestKotlin { kotlinOptions{ jvmTarget = "11" } }
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
Member 클래스 import가 안됩니다
스프링 데이터 jpa 강의 보고 따라하는 중인데 Member import가 안됩니다.다음과같이 import java.lang.reflect.Member만 뜨고 domain의 member는 import가 안돼요 따로 import 문을 작성해봐도 오류가 뜹니다 member 클래스의 코드는 다음과 같습니다. package hello.hellospring.domain;import jakarta.persistence.Entity;import jakarta.persistence.GeneratedValue;import jakarta.persistence.GenerationType;import jakarta.persistence.Id;@Entitypublic class Member {@Id @GeneratedValue(strategy = GenerationType.IDENTITY)private Long id;private String name;public Long getId() {return id;}public void setId(Long id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}} +member와 동일한 위치에 meberTest를 작성하여 import한 결과 정상적으로 동작하였습니다.++다른 파일에서도 이미 import한 member는 정상동작하나 지우고 새로 import하려하면 안되는 상황입니다ㅜㅜ!+++MemberTest 파일에 Member와 똑같은 코드를 복붙하고 import하면 되는걸로 봐서 member클래스 자체의 문제는 아닌것같습니다...