한바다
[스프링부트]build.gradle , Failed to configure a DataSource오류 본문
✅ build.gradle x 표시
전일까지 스프링부트가 정상 실행 되었다가 다음날 스프링부트 재 실행시 build.gradle에 x표시가 되어
스프링부트를 실행할 수 가 없었다.
이럴경우 build gradle을 리프래쉬 해야 하는데 리프래쉬 해줘도 문제는 해결되지 않았다.
확인 시, 폴데어 마우스 우클릭하여 >Properties>Gradle 들어가면 아래와 같이 Override workspace setting 에
체크가 되어 있었다.
이전에 포스팅한 내용을 참고하면 해당부분은 체크 해제를 해주었는데 스프링부트 내부에서 저절로 체크가 다시
살아났다!! 다시 체크 해제를 해주고 저장해주고 리프래쉬를 해주니 x표시는 사라졌다
✔️ 두번째 에러 메세지
Error starting ApplicationContext. To display the condition evaluation report re-run your
application with 'debug' enabled.
[에러 원인]
ApplicationContext를 시작하는 중에 오류가 발생했습니다. 조건 평가 보고서를 표시하려면 '디버그'를 활성화한 상태에서 애플리케이션을 다시 실행하세요.
[에러해결]
폴더이름Application 즉 스프링부트 시작 폴더로 들어가서 해당내용을 삭제하고 다시 붙여넣었다!
그리고 @SpringBootApplication을 삭제하였다가 다시 import 해주었다!
@SpringBootApplication
@EnableAsync
public class SixsenceApplication {
public static void main(String[] args) {
SpringApplication.run(SixsenceApplication.class, args);
}
}
✔️ 세번째 에러 메시지
Description:
Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured.
Reason: Failed to determine a suitable driver class
Action:
Consider the following:
If you want an embedded database (H2, HSQL or Derby), please put it on the classpath.
If you have database settings to be loaded from a particular profile you may need to activate it (no profiles are currently active).
[에러 원인]
'Failed to configure a DataSource' 에러가 발생하는 이유는 Database에 연결할 때 필요한 정보가 없거나 잘못 되었기
때문에 application.properties파일 내용을 삭제 하였다가 다시 붙여 넣어 주었다!
즉 애플리케이션이 데이터베이스에 연결할 수 있도록 설정파일을 확인한다
▶ 즉 잘 실행되다가 위와 같은 에러가 발생 시 스프링부트 내부적으로 전산을 돌리면서 환경설정 부분이 얽히거나
자바 버전이 상위버젼으로 변경되거나 하는 내부 문제인 듯 하다. 이럴경우. 첫번째 방법을 진행 한후 기존 설정파일들을
하나씩 삭제후 붙여 넣어주고 어노테이션도 재 inport하고 그래도 안되면 컴퓨터를 종료하였다가 재 실행시 스프링부트는
정상적으로 가동이 되었다!! 내가 좀더 컴퓨터 지식이 많이 쌓였을때 해당오류를 좀더 면밀히 파악하고 분석한 후
제대로 포스팅 해보고 싶다라는 생각이 들었다!! 현재는 초보자의 눈으로 에러를 바라본다
✅리액트 is not defined 오류
[오류 코드]
ERROR
[eslint]
src\components\PizzaResult.js
Line 24:57: 'e' is not defined no-undef
Search for the keywords to learn more about each error.
(수정 전 코드 / 수정 후 코드)
(수정 전 코드)
useEffect(() => {
if(query){
axios.get(`http://localhost:9090/api/pizza/search?${query}`)
.then((response) => setPizzas(response.data)
.catch((e) => console.error("문제가 발생하여 검색을 가져오지 못합니다."),e);
}
},[query};
(수정 후 코드)
useEffect(() => {
if(query) {
axios.get(`http://localhost:9090/api/pizza/search?${query}`)
.then((response) => setPizzas(response.data))
.catch((e) => {
console.error("문제가 발생하여 검색을 가져오지 못합니다.",e);
});
}
},[query]);
[문제의 원인]
catch 블록에서 잘못된 구문으로 인해 콜백함수가 올바르게 정의되지 않았다. 콜백함수 전체를 중괄호{} 로
감싸서 올바르게 구문을 수정 하였다!
'스프링부트' 카테고리의 다른 글
스프링부트 흐름 과 이해 그리고 중복확인에러 (0) | 2024.07.09 |
---|---|
깃명령어와 React 시작! (0) | 2024.07.03 |
git hub 연결 오류 해결 (0) | 2024.07.01 |
타임리프 실행 오류 (0) | 2024.06.26 |