🛠️Backend28 [JWT] java.lang.ClassNotFoundException: javax.xml.bind.DatatypeConverter 에러 상황로그인 API를 호출하여 성공 시 JWT를 발급하는 로직을 구현하던 중 다음과 같은 에러가 발생했다. 에러 코드java.lang.ClassNotFoundException: javax.xml.bind.DatatypeConverter 해결 방법Spring Boot 프레임워크 사용 시 해당 dependency를 추가로 설치해주면 에러가 해결된다.implementation 'javax.xml.bind:jaxb-api:2.3.0' 참고 사이트https://jminie.tistory.com/123 JDK 11에서 java.lang.ClassNotFoundException: javax.xml.bind.DatatypeConverter 에러🚨 에러 발생 로그인 API에서 JWT를 이용해서 회원 인증을 구.. 🛠️Backend/오류해결 2024. 8. 20. [Java] Netty를 사용하여 간단한 Echo 서버 및 클라이언트 구현 Netty 란?고성능 네트워킹 애플리케이션을 제작하기 위한 자바용 고급 프레임워크이다. 단일 API로 블로킹과 논블로킹 방식의 여러 전송 유형을 지원한다. 그리고 사용 방법이 간단하며 추가 의존성 없이 netty 라이브러리만을 설치하여 사용할 수 있다. 무엇보다 코어 자바 API보다 높은 처리량과 짧은 지연 시간, 리소스 소비 감소, 메모리 복사를 최소화한다는 장점이 있다. 준비하기Netty를 사용하기 위해 의존성을 추가해준다. 필자는 Gradle을 사용해서 아래 의존성을 build.gradle에 추가했다.implementation 'io.netty:netty-all:4.1.109.Final' Echo Server네티 서버 구성 시 다음 항목이 필요하다. • ChannelHandler - 클라이.. 🛠️Backend/JAVA 2024. 7. 24. [IntelliJ] The file size exceeds the configured limit. 에러 상황프로젝트를 진행하며 google protobuffer를 사용했고, protobuf 파일 호출 시 빨간색 밑줄이 그어졌다. 그리고 창 위에 다음과 같은 경고 메시지가 나타났다. 에러 코드The file size (MB) exceeds configured limit (2.56 MB). Code insight features are not available. 해결 방법IntelliJ config에서 설정한 최대 파일 사이즈를 초과해서 발생하는 오류이다. 메뉴의 [도움말] > [사용자 지정 프로퍼티 편집...] 을 누르면 idea.properties 파일 창이 열린다. 아래의 코드를 추가 및 저장한 후 IntelliJ를 재시작하면 재빌드 후 소스 코드가 제대로 적용되게 된다.idea.max.inte.. 🛠️Backend/오류해결 2024. 7. 24. [Java] 순수 자바 프로젝트에서 MS-SQL 연결하기 개요새 프로젝트를 하면서 Spring Boot를 사용하지 않고 프로젝트를 진행하게 됐다. Spring Boot를 사용하지 않은 이유는 단순히 TCP/IP 통신 및 DB 만을 사용하는 프로그램에서 굳이 무거운 Spring Boot를 사용하지 않아도 된다고 판단했기 때문이다. 많은 래퍼런스가 없었기에 진행하면서 적용한 코드를 정리해보려고 한다. gradle 의존성 추가mssql을 사용하기 위해서 build.gradle 파일에 의존성을 추가했다.implementation 'com.microsoft.sqlserver:mssql-jdbc' 하지만 정상적으로 빌드되지 않았고, jre 버전과 맞는 버전을 추가해주니 정상적으로 의존성이 추가됐다.implementation 'com.microsoft.sqlserver:.. 🛠️Backend/JAVA 2024. 7. 17. [IntelliJ] error: unmappable character (0xEB) for encoding x-windows-949 에러 상황IntelliJ로 프로젝트를 진행하는 도중 한글로 입력한 주석에서 오류가 발생했다. 에러 코드error: unmappable character (0xEB) for encoding x-windows-949 해결 방법한글 인코딩 문제로 인해 빌드 시 오류가 발생했다. 설정 후 IntelliJ 캐시 무효화 및 재실행을 해주면 오류가 해결된다. 1. [파일] > [설정] > [에디터] > [파일 인코딩] 2. [도움말] > [사용자 지정 VM 옵션 편집...] > 코드 추가-Dfile.encoding=UTF-8-Dconsole.encoding=UTF-8 3. [파일] > [캐시 무효화] > [파일 시스템 캐시 및 로컬 기록 지우기 체크] > [무효화 및 다시 시작] 클릭 위 방법으로 해결이 안.. 🛠️Backend/오류해결 2024. 7. 17. [Spring Boot] 설정 파일 값 암호화 및 적용하기 (feat. Jasypt) 개요프로그램을 개발한 후 프로젝트를 외부에 배포하기 위해 회사 내부 정보를 암호화해야 했다. 우선 가장 대중적이고 래퍼런스가 많은 Jasypt 라이브러리를 사용해 DB 접속 정보를 암호화하기로 했다. 의존성 추가라이브러리https://github.com/ulisesbocchio/jasypt-spring-boot GitHub - ulisesbocchio/jasypt-spring-boot: Jasypt integration for Spring bootJasypt integration for Spring boot. Contribute to ulisesbocchio/jasypt-spring-boot development by creating an account on GitHub.github.com Gradle.. 🛠️Backend/Spring 2024. 6. 25. [Java] Gradle을 이용한 순수 자바에서 jar파일 생성하기 에러 상황Spring Boot가 아닌 순수 Java 프로젝트를 생성한 후 배포를 위해 Jar파일을 만들던 도중 여러 문제가 발생했다. 1. Jar 파일 빌드 시 Main-Class를 찾지 못하는 에러 2. Class 내의 라이브러리를 찾지 못하는 에러 두 문제에 대한 래퍼런스가 많이 없어 블로그에 기록해본다. 에러 코드1. no main manifest attributeno main manifest attribute, in example.jar 2. Caused by: java.lang.NoClassDefFoundError: [라이브러리]Error: Unable to initialize main class [패키지명]Caused by: java.lang.NoClassDefFoundError: [.. 🛠️Backend/오류해결 2024. 6. 4. [C#] Visual Studio에서 MSSQL 연결 및 사용하기 Visual Studio에서 MSSQL을 연결해서 사용 시 장점 SQL을 따로 실행시킬 필요없이 Visual Studio에서 테이블 조회, 쿼리, SP 조회 등 MSSQL의 기능을 사용할 수 있다. 이 기능을 사용하게 된 가장 큰 이유는 SP의 디버깅이 가능하다는 점이었다. 하지만 로컬 서버가 아닌 외부 서버에서는 SP 디버깅이 불가능하다. 연결 방법 보기 > 서버 탐색기 서버 탐색기 > 새 SQL Server 데이터베이스 만들기 SQL Server 패키지 설치 패키지 설치가 완료되면 보기 메뉴 목록에 'SQL Server 개체 탐색기'가 새로 추가된다. SQL 서버를 연결한 후 사용하면 된다. 🛠️Backend/C# 2024. 3. 15. [Spring Boot] 프로젝트 실행 시 파일 존재 여부 확인 및 신규 파일 생성 파일 존재 확인FileApplication.java@Slf4j@SpringBootApplicationpublic class FileApplication { public static void main(String[] args) { // '파일.확장자'로 파일을 생성한다. String fileName = "파일.확장자"; // 파일이 존재하지 않는다면 파일을 생성한다. if( !CreateFile.fileExists(fileName) ) { log.error("[error] 'fileName' 파일이 존재하지 않습니다."); CreateFile.createFile(fileName); .. 🛠️Backend/Spring 2024. 3. 6. [Spring Boot] Launch4j과 jar 파일을 사용해서 실행 파일(.exe) 만들기 Launch4j 다운로드https://sourceforge.net/projects/launch4j/files/launch4j-3/3.50/ Launch4j Executable Wrapper - Browse /launch4j-3/3.50 at SourceForge.netSpamTitan Email Security and Protection SpamTitan blocks spam, viruses, malware, ransomware, phishing attempts and other email threats.sourceforge.net 파일 생성 경로 지정 및 jar 파일 등록 톱니바퀴를 눌렀을 때 Specify output file with .exe extension 경고 메시지가 뜨는 경우가 있다. O.. 🛠️Backend/Spring 2024. 3. 6. [Spring Boot] jar 파일 실행 시 외부 폴더 이미지 찾아서 내려주기 폴더 구조 생성jar파일이 있는 폴더 아래에 이미지를 저장할 폴더를 생성해준다. 생성한 img 폴더 안에 원하는 이미지 파일을 넣어주면 된다. 폴더 안의 파일을 불러온 후 화면에 출력해주는 코드를 작성한다. 코드 작성@Slf4j@RestController@CrossOrigin@RequiredArgsConstructorpublic class ImageController { @GetMapping("img/**") public ResponseEntity getInternalImage(HttpServletRequest request) throws IOException { log.info("[ImageController - GET, /img/**]"); // 이미지 파일 풀네.. 🛠️Backend/Spring 2024. 2. 15. [Spring Boot] 단위 테스트 성공 시 Spring Rest Docs 파일 생성 API 문서화 프로젝트를 진행하다 보면 다른 업체와 협업을 하거나 프로젝트 정보를 공유하는 경우가 생기게 된다. 많은 API를 모두 설명할 수 없어서 보통은 API 문서를 사용해서 통신에 필요한 정보를 제공하곤 한다. API 문서화 도구를 사용하지 않고도 직접 html 파일로 작성하거나 다른 프로그램으로 작성할 수 있다. 하지만 그렇게 되면 개발과 문서 작업 둘 다 병행해야하기 때문에 많은 시간과 인력을 낭비하게 된다. 그리고 수작업으로 진행하다보면 내용을 빼먹는 경우도 생기게 된다. 그렇기 때문에 대부분 API 문서화 도구 사용을 추천한다. Swagger vs Spring REST Docs 많이 사용하는 API 문서화 도구로는 Swagger와 Spring Rest Docs가 있다. Swagger 장점 .. 🛠️Backend/Spring 2024. 1. 2. 이전 1 2 3 다음