JAVA·Spring 7

IntelliJ에서 Lombok 적용후 cannot find symbol symbol: class __

IntelliJ에서 Lombok 적용하고 프로젝트 가져오면 다음과 같은 오류가 발생한다. Error:(20, 43) java: cannot find symbol symbol: class __ 오류가 나는 부분은 다음과 같다. @__ 부분에서 오류가 발생한다. @Log4j2 @Service @RequiredArgsConstructor(onConstructor = @__(@Inject)) public class HttpService { File > Settings ... 으로 이동한다. 좌측메뉴에서 Plugins 선택한후 Installed 탭을 확인해 보면 최근 IntelliJ 버전에는 기본적으로 Lombok 플러그인이 설치되기 때문에 검색에서 안나온다고 헤메는 삽질을 하지 않기를 바란다. pom.xml에서..

JAVA·Spring 2023.05.23

Spring Batch에서 ItemReadListener가 걸리지 않을 때

다음과 같은 상태에서 ItemReadListener가 걸리지 않았다. @Bean public Step step1() throws Exception { return stepBuilderFactory.get("step1") .chunk(100) .reader(pagingItemReader()) //.reader(customItemReader()) .listener(new CustomReadListener()) .processor((ItemProcessor) item -> item) .listener(new CustomProcessListener()) .writer(customItemWriter()) .listener(new CustomWriteListener()) .taskExecutor(taskExecut..

JAVA·Spring 2023.04.03

Kakao Login API Bad client credentials(KOE010) 해결하기

2018년에 작성한 Kakao Login API 샘플을 오랜만에 구동했더니 다음과 같은 오류가 발생했다. { "error": "invalid_client", "error_description": "Bad client credentials", "error_code": "KOE010" } Postman으로 확인했을때 다음과 같다. 아마도 API에서 응답하는 규격이 그새 변경된것으로 추측이 된다. Postman으로 확인결과 다음 2가지 방법으로 해결이 가능했다. 1) Get 방식에서 파라미터 전달 2) POST 방식에서 x-www-form-urlencoded로 전달 * 참고자료 https://developers.kakao.com/docs/latest/ko/kakaologin/rest-api Kakao Deve..

JAVA·Spring 2022.08.29

maven Repository - Failed to transfer ~~~~ Central 501 HTTPS Required

maven Repository 정책 변경으로 HTTP를 사용할수 없고 HTTPS를 사용하여야 한다. 2020년1월15일부로 변경이 된듯 하다. * 오류 메시지 내용 Failed to transfer ~~~~ Central 501 HTTPS Required 메시지 발생 * Maven Repository URL 정책 변경에 대해 다음 링크 참조 https://support.sonatype.com/hc/en-us/articles/360041287334-Central-501-HTTPS-Required 해결방법은 pom.xml을 열어서 URL을 HTTP => HTTPS로 변경하고 태그 설정을 추가한다. http://repo1.maven.org/maven2/ 다음과 같이 센트럴 레포지토리 URL을 HTTPS로 변경..

JAVA·Spring 2020.02.03

특정 포트 점유한 프로그램 찾고 실행중인 Java 어플 죽이기 - Windows (Kill Process)

윈도우즈의 경우 실행중인 java 어플을 다음 명령으로 죽일수 있습니다. * 프로그램 명으로 죽이기 C:\>taskkill /f /im javaw.exe C:\>taskkill /f /im java.exe * Pid 명으로 죽이기 C:\>taskkill /f /pid 3693 C:\eGovFrame-3.6.0\bin\jdk1.8.0_45\bin>taskkill /f /im javaw.exe 성공: 프로세스 "javaw.exe"(PID 22732)이(가) 종료되었습니다. * 특정 포트 사용여부 찾기 C:\>netstat -aon | find /i "listening" | find "8080" * 특정 포트 점유한 프로그램 찾기 C:\>for /f "tokens=5" %x in ('netstat -aon ^..

JAVA·Spring 2019.03.12

Eclipse Neon에서 빈설정 xml파일에서 실제는 정상인데 오류X표시가 보여질때 처리방법

이클립스 네온버전을 사용중에 xml 빈설정파일에서 No setter found for property 'dataSource' in class 'egovframework.com.cmm~~~ 블라블라 메시지가 나온다. 오잉? maven repository가 제대로 내려오지 않았나? 확인을 해봤습니다. 해당 라이브러리 제대로 내려왔고 그 라이브러리에 setter도 분명히 있네요. 실제 구동을 시켜보면 정상적으로 WAS가 기동이 되고 서비스도 문제가 없었습니다. 결국 이클립스가 뻥치고 있다고 결론이 나오네요. ^^; 물론 그냥 놔두고 쓰면 되지만 빨간색 X표시가 보기 싫어서 여러가지 방법을 찾다가 내용을 CTRL+X로 싹지우고 저장한 다음 CTRL+V로 붙여넣기를 시도 합니다. 다시 붙여넣기 하면 다음과 같이 ..

JAVA·Spring 2018.11.09

전자정부 egov Spring batch에서 MyBatisPagingItemReader사용시 주의점 (무한루프 방지)

egov Spring batch에서 PagingItemReader사용시 주의점인데요. 쿼리에 페이징관련 설정이 추가되지 않으면 한참동안 무한에 가깝게 반복이 되게 되니 주의가 필요합니다. query쪽 xml에서 페이징관련 맵핑 변수를 설정해야 합니다. 마이바티스의경우 #{_page} , #{_pagesize} , #{_skiprows}를 설정해 주어야 합니다. 참고로 VO에 정의가 없어도 자동으로 주입이 됩니다. * HSQL (메모리 DB의 경우) select EMP_NO, EMP_NAME, JOB, MGR, HIRE_DATE, SAL, COMM, DEPT_NO from EMP where 1 = 1 LIMIT #{_pagesize} OFFSET #{_skiprows} -- HSQL LIMIT OFFSET..

JAVA·Spring 2017.11.28