반응형 Java8 Cannot find DTD ... log4j 에러 로그 관련하여 더 보고 싶은 정보가 있어서 level 조정하려고 log4j.xml 파일을 들어가봤더니 난데없이 'Cannot find DTD ... log4j' 와 같은 에러 발생! log4j도 정상적으로 돌아가고 아무 문제는 없다고는 하나 빨간 줄은 절대 못넘어가는 나란 사람은 해결하려고 구글링 시작 일단 문제는 해당 log4j를 경로에서 찾을 수 없다는 에러이고 그래서 상단에서 // 이와 같이 되어있어서 에러가 발생했을 것 // "log4j.dtd" 부분에 경로를 잘 찾을 수 있도록 실제 apache에서 제공하는 경로를 입력 // https://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/xml/doc-files/log4j.dtd // 결론적으로 아.. 2024. 2. 2. Property 파일 유니코드로 보이는 현상 및 'downloading from external resources is disabled' 에러 회사에서 다른 곳에 업무 지원을 나와 새 프로젝트를 STS를 사용하여 기존 프로젝트를 받아와 시작하려는데 두가지 문제가 발생했다. 일단 Spring에서 사용하는 message의 property 파일의 한글이 모두 유니코드로 보이는 현상. 대부분은 preference 설정이나 marketplace에서 플러그인 등을 설치해주면 해결이 된다고 하나 그 중 아무것도 해결이 안되었다. 한참 구글링 하고 난뒤에 해결책을 드디어 찾음! 간단히 말해 많은 블로그에서 제공하는 convert해줄 수 있는 jar파일을 받을 수 있는 링크가 실제 들어가보면 더이상 운영이 안되거나 불안정한 곳이었고 그래서 파일을 직접 다운 받아 직접 해당 path에 넣어주는 방식으로 해결하였다. 위 두개 파일을 받은 뒤 해당 workspace.. 2024. 2. 2. 문자열 비교 - Equals() 와 == 연산자의 차이 업무 중에 문자열 비교를 통하여 처리해야 하는 로직이 있었는데 잘 동작 하다가 어느 순간 해당 로직 안에서 무한 루프로... 때문에 DB에서 해당 테이블에 락 걸리고 난리도 아니였다. 원인을 찾아보는데 Javascript 로 열나게 처리하다가 무심결에 컨트롤러에서 똑같이 부등호로 문자열을 비교하는 코드를 집어넣었더니 해당 로직이 문자열 비교를 하지 못하게 되고 그러다 보니 내가 구현한 로직의 특성상 무한루프를 돌게 되는 것이였다. DB에서 받아온 값을 그냥 String으로 변환해서 사용하는 것이였고 때문에 결국 문제가 될 코드였다. 리터럴을 이용할 시에는 String Pool에 저장이 되고 new 연산자를 이용할 시에는 Heap 내부에 저장이 된다. 이때 == 연산자는 문자열이 저장된 주소를 비교하게 되.. 2024. 1. 9. Scheduler 처리 일정시간마다 DB를 조회해서 카카오톡 알림을 줘야하는 경우 어떻게 처리를 해야하나 찾아보다가 Scheduler로 처리하면 되겠다 싶었다. 생각보다 처리는 간단했다. 제일 먼저 bean에 xmls와 schema를 추가해줘야한다. 각각의 프로젝트에 따라 이 설정을 해준곳이 context인 경우도 있고 dispatcher-servlet인 경우도 있으니 이는 상황에 따라 넣어주면 될것 같다. /* Scheduler를 사용하기 위한 xmls */ xmlns:task="http://www.springframework.org/schema/task" /* schema */ http://www.springframework.org/schema/task http://www.springframework.org/schema/t.. 2023. 10. 26. 이전 1 2 다음 반응형