본문 바로가기

Error43

Caused by: java.lang.ClassNotFoundException: javax.xml.bind.JAXBException 에러내용 Caused by: java.lang.ClassNotFoundException: javax.xml.bind.JAXBException 에러원인 자바11 버전에서는 추가 디펜던시를 추가해줘야 한다. 에러조치 해당 디펜던시를 추가함에 따라 해결 javax.xml.bind jaxb-api 2.3.0 2022. 7. 31.
cannot be cast to class org.springframework.test.web.servlet.ResultMatcher 에러 내용 java.lang.ClassCastException: class org.springframework.test.web.client.match.JsonPathRequestMatchers$3 cannot be cast to class org.springframework.test.web.servlet.ResultMatcher (org.springframework.test.web.client.match.JsonPathRequestMatchers$3 and org.springframework.test.web.servlet.ResultMatcher are in unnamed module of loader 'app') 에러원인 import를 다른 패키지로 설정. 위의 josnPath로 import 를 해야한.. 2022. 7. 31.
Error creating bean with name 'dataSourceScriptDatabaseInitializer' defined in class path resource 원인 : Hibernate가 초기화되기 전에 data.sql이 먼저 실행되어 발생 스프링부트 버전 : 2.6.9 해당 코드 추가 defer-datasource-initialization: true 2022. 7. 12.
Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.thymeleaf.exceptions.TemplateProcessingException: Error during execution of processor 'org.thymeleaf.spring5.pr.. 해결방법 @GetMapping("/add") public String addForm(Model model) { //타임리프의 th:object, th:field를 이용한 html 속성을 편리하게 처리하귀 위해 Item객체를 넘겨야 한다. model.addAttribute("item",new Item()); return "addForm"; } 왜 에러가 발생했을까? addForm.html에 타임리프를 적용했습니다. 해당 부분을 작성했을 때 에러가 발생했습니다. 이유는 th:object="${item} 이 item을 참조하고 있는데 컨트롤러에서는 해당 값이 없기 때문이었습니다. @GetMapping("/add") public String addForm() { return "addForm"; } 에러메시지 2.. 2022. 6. 19.
No EntityManager with actual transaction available for current thread - cannot reliably process 'persist' call 에러 JPA 테스트 코드 작성 및 실행 중 No EntityManager with actual transaction available for current thread - cannot reliably process 'persist' call 해당 에러가 발생했다. 대충 뜻은 persist call 을 진행할 수 없다는 뜻인데, 옆에 에러코드를 보면 현재 스레드에 실제 트랜잭션을 사용할 수 있는 EntityManager가 없음 - '지속' 호출을 안정적으로 처리할 수 없음 이런 뜻이다. JPA는 기본적으로 트랜잭션을 기반으로 작동하게 되어있다. 트랜잭션에 따라서 1차캐시영역에 있는 데이터들이 flush되어 영속화가 되기 때문이다 따라서 클래스나 서비스 메서드에 꼭 @Transactional 을 추가해주자! 2022. 6. 16.
스프링부트 2.7.0 타임리프 버그 해결 스프링부트 + 타임리프를 사용할 때, 타임리프로 작성된 코드에 ctrl + 클릭하면 이어진 경로로 가야하는데 빨간줄 or 보라색 줄이 나오는 것을 볼 수 있다. 어느 프로젝트에서는 경로가 가지고, 어느 프로젝트에서는 이동이 안되고 자동완성도 안되었는데, ( 정상작동은 된다) 스프링 부트 버전문제라는 것을 몇십개의 블로그를 통해 알아냈다. 스프링부트 2.7.0 버전에서는 버그로 작동이 안될때가 있다고한다. 스프링부트를 2.6.8 으로 설정하면 정상작동 된다! 아래와 같이 2.7.0 버전은 보라색줄이 생기면서 클릭해도 이동이 안된다. 스프링부트 버전을 2.6.8 로 바꾸니 아주 잘 작동된다. 버전바꾸는 방법은 build.gradle 에 들어가서 변경하면된다. plugins { id 'org.springfra.. 2022. 6. 16.
MariaDB/MySQL 테이블 한글 입력 시 오류 유튜브를 보고 게시판을 따라 하고 있는데, 한글이 안들어가는 오류가 발생했다. 에러 코드는 Incorrect string value: '\xEC\x95\x88\xEB\x85\x95...' 이렇다. 서버를 실행하고, 홈페이지에 들어가 작성을 눌러도 영어,숫자는 입력되는데 한글을 입력하면 서버오류가 났다. 해결방법! 쿼리문에 해당 쿼리 실행하기 => utf-8로 바꿔주는 쿼리 ALTER TABLE board convert to charset utf8; 결과는 DB에서 직접 입력 , 홈페이지에서 입력 둘다 잘된다 2022. 6. 3.