Study/Java (190) 썸네일형 리스트형 [troubleshooting] eclipse (STS)에서 빌드 시 throws java.lang.ClassFormatError accessible: module java.base does not "opens java.lang" to unnamed module 에러 발생 STS 4.12.1이 나와서 사용하려고 보니 프로젝트 빌드 시 java.lang.ClassFormatError accessible: module java.base does not "opens java.lang" to unnamed module... 와 같은 오류가 발생한다. 해당 에러는 lombok을 사용하는 경우 발생하며 발생하는 이유는 JDK 16에서 강화된 보안정책 때문에 private 접근자에 대한 강제 접근 처리가 되지 않으면서 해당 방식의 코드를 사용한 lombok을 사용할 경우 발생되는 오류이다. https://openjdk.java.net/jeps/396 JEP 396: Strongly Encapsulate JDK Internals by Default JEP 396: Strongly Enc.. [troubleshooting] eclipse(STS)에서 sources and javadoc downdoad 무한 반복 현상 STS 4.12.0에서 코드 변경 시 progress에 associate sources and javadoc with classpath 가 뜨고 끝없이 무한 반복하는 현상이 발생했다. 원인은 STS 4.12.0에서 사용하고 있는 eclipse-m2e의 버그다. https://github.com/eclipse-m2e/m2e-core/issues/252 install New Software에서 아래 주소를 추가하여 버전을 업그레이드하면 된다. https://download.eclipse.org/technology/m2e/releases/latest/ 2021-11-01 추가 내용 위 패치 내용을 포함한 버전의 STS 4.12.1이 release 되었다. 따라서 STS를 이후 버전으로 사용하면 해당 문제가 해.. JDK 12 ~ JDK 17 사이 추가된 language specification feature 이 글은 JDK 12 ~ 17 사이에 추가된 language specification feature에 대해 정리한 내용입니다. 만약 각 JDK별 변경 사항을 확인하고 싶은 경우 이전 글을 참고하면 됩니다. 2019.07.18 - [Study/Java] - JDK 12 New Features 2019.09.25 - [Study/Java] - JDK 13 New Features 2020.03.30 - [Study/Java] - JDK 14 New Features 2020.10.13 - [Study/Java] - JDK 15 New Features 2021.03.18 - [Study/Java] - JDK 16 New Features 2021.09.15 - [Study/Java] - JDK 17 New Feat.. JDK 17 New Features JDK의 버전별 변경 사항은 이곳을 참고하세요. JDK 12 ~ 17 사이 추가된 language specification feature는 이곳을 참고하세요. JDK 17은 변경된 릴리즈 정책에 따라 3년 만에 나오는 LTS 버전이다. 따라서 향후 JDK 23이 나오기 전까지 대부분의 경우 JDK 11 -> JDK 17로 변경하여 사용하게 된다. Spec Java SE 17 Platform JSR 392에 정의된 바와 같이 JSR 392 구현이 목표 실제 Spec은 Final Release Specification 문서를 참고해야 함 Final Release Specification Feature Summary 전체 JEP Feature 목록은 OpenJDK의 JDK17 문서로 확인할 수 있다. Comp.. Spring Boot에서 Resilience4j 사용해보기 공부하면서 기록한 내용 Spring Boot와 Resilienct4j에 대한 내용만 살펴봄 Hystrix -> Resilience4j로 변경되는 이유 Netflix OSS 제품군의 다양한 프로젝트들을 Spring에서 사용하기 위해 Spring 진영에서는 Spring Cloud Netflix 프로젝트를 제공하였다. Netflix는 Hystrix, Ribbon, Turbine, Zuul과 같은 다양한 라이브러리를 공개하여 웹서비스의 장애 대응, 서비스 분산에 대한 좋은 대안들을 제시하였고 많이 쓰였다. 하지만 2018년에 Netflix가 ribbon, hytrix를 유지관리 모드 (maintenance mode, 새로운 기능을 추가하지 않고 버그 및 보안 문제만 수정)로 더 이상 개발하지 않는다고 발표하면서.. Java lambda expression(람다 표현식)을 사용한 지연 연산(Lazy Evaluation) Spring DispatcherServlet은 어떻게 LocaleContext에서 Locale을 지연 실행하여 획득할 수 있을까? spring-webmvc의 DispatcherServlet에는 Locale을 획득하는 코드가 다음과 같은 형태로 구현되어 있다. (전체 코드 참고) @Override protected LocaleContext buildLocaleContext(final HttpServletRequest request) { LocaleResolver lr = this.localeResolver; if (lr instanceof LocaleContextResolver) { return ((LocaleContextResolver) lr).resolveLocaleContext(request); } .. maven central repository에 라이브러리 배포하기 2025-05-13 추가maven central repository 배포 방식이 변경되어 아래 방법은 더 이상 유효하지 않습니다.아래 링크를 참고하세요.2025.05.12 - [Study/CI&CD] - Maven Central Portal 배포하기 (기존 OSSRH 배포 방식 변경)github의 maven project를 maven central repotisory (https://search.maven.org/)에 등록하면서 한 작업들을 기록등록을 위한 가이드는 아래와 같다.https://central.sonatype.org/publish/publish-guide/ OSSRH Guide - The Central Repository DocumentationGetting started Introducti.. PropertyEditor를 사용한 Data Binding (in Spring Data Redis) Spring Data Redis의 문서를 보다 보면 아래와 같은 예제가 보인다. // inject the template as ListOperations @Resource(name="redisTemplate") private ListOperations listOps; Spring Boot의 RedisAutoConfiguration에서는 RedisTemplate과 StringRedisTemplate bean을 자동 설정해주고 있다. @Bean @ConditionalOnMissingBean(name = "redisTemplate") @ConditionalOnSingleCandidate(RedisConnectionFactory.class) public RedisTemplate redisTemplate(Redi.. 이전 1 ··· 10 11 12 13 14 15 16 ··· 24 다음