본문 바로가기

Java22

[Java] 운영 도중에 XML Parsing Error 가 발생했다! (with. NoSuchMethodError) 제목 그대로다. 운영 도중에 XML Parsing Error 가 발생했다 🙀 로컬과 개발환경, 그리고 3개월 간 운영에서 이슈없이 잘 되던 기능이었다. 그런데 어제부터 갑자기 아래와 같은 원인으로 오류가 발생하면서 기능이 멈추는 현상이 발생했다. java.lang.NoSuchMethodError: org.json.JSONTokener.(Ljava/io/Reader;) 코딩에 `갑자기` 가 없다는 것을 안다. 결국은 내가 무지 했거나 완벽하게 분석, 설계하지 못해서 발생한거다. 그럼에도 이 포스팅을 작성함으로써 나를 포함한 다른 이들에게 도움이 되었으면 한다 😇 원인은 JSONTockener 클래스가 내 라이브러리에서 중첩되어 있는 상황에서 JSONObject resultJson = XML.toJSONOb.. 2021. 8. 6.
[JUnit] org.mockito.exceptions.misusing.UnnecessaryStubbingException org.mockito.exceptions.misusing.UnnecessaryStubbingException: Unnecessary stubbings detected. Clean & maintainable test code requires zero unnecessary code. Following stubbings are unnecessary (click to navigate to relevant line of code): 1. -> at [FQCN].MyServiceTest.setUp(MyServiceTest.java:43) Please remove unnecessary stubbings or use 'lenient' strictness. More info: javadoc for UnnecessaryS.. 2021. 7. 26.
[Maven] Error: java: error: release version 5 not supported Error: java: error: release version 5 not supported IntelliJ 에서 Maven 으로 프로젝트 빌드 시 위와 같은 오류가 발생하였고 IntelliJ -> Preferences -> Build, Execution, Deployment -> Compiler -> Java Compiler 에서 Target bytecode version 을 5 에서 8 로 변경해주어 해결 완료 :) 2021. 7. 1.
[JAVA] SHA256 암호화 Util 서비스단에서 SHA256 암호화가 필요했는데, 뭔가 너무 수동으로 짠 느낌의 메소드들만 있어서 분명 어딘가에 Util 이 있을거라 생각하고 계속 서칭하니까 나온! import org.apache.commons.codec.digest.DigestUtils; DigestUtils.sha256Hex("암호화 할 문자열"); apache 짱짱. 2021. 1. 13.
[JAVA] CURL 로 다른 API 호출하는 방법 (with. HttpClient) Java + Spring framework 에서 CURL 처럼 리턴 받을 데이터 없이 다른 API 를 호출 할 일이 생겼다. 일반 Http 통신을 하기보다는 CURL 처럼 쓕 보내보고 싶었는데, 생각만큼 소스를 가볍게 짜기엔 어려운 것 같았고 아래가 최선이었다. public void sendOtherApi(Object sendObj) { try { // POST 메소드 URL 생성 & header setting HttpClient client = HttpClientBuilder.create().build(); HttpPost postRequest = new HttpPost("http://localhost:8080/test/curlConnect"); postRequest.setHeader("Accept",.. 2020. 12. 1.
[JAVA] byte[] to File, File to MultipartFile (fin. byte[] to MultipartFile) 타 API 와 통신해서 AWS S3 에 업로드 할 일이 생겼다. MSA 에 맞춰서 다른 팀에서 S3 에 업로드하는 API 를 뚫어줬는데, 업로드 할 binary file 데이터 타입을 MultipartFile 로 만들어주셨다.. 그렇기에 내가 할 일이란 타 API 와 통신 -> byte array 겟! -> File 객체로 변환 -> MultipartFile 객체로 변환하는 것이었다. 여기서 중요했던건 ★ no disc , in memory(buff) ★ 에 초점을 맞췄다는 점이다. 왜냐면 통신해서 받은 데이터를 S3 에 업로드할건데 굳이 was 에 올릴 필요가 없었기 때문에 !! ( 사실은 일정 환경 이상에서 디렉토리 핸들링 권한이 없어서 was 에 저장 자체가 불가능했음.. ) (byte[] -> M.. 2020. 9. 9.