gradle(4)
-
Pure Java 프로젝트 의존성 포함법 : Shadow Plugin
1. 문제의 시작: 해축갤 인기 게시물 트래픽 추적 중 에러 해외축구갤러리의 인기 게시물 트래픽을 추적하기 위해 Java 프로그램을 개발하고 Gradle 빌드 시스템을 사용하여 빌드한 후 실행했습니다. 그러나 "java.lang.NoClassDefFoundError: org/jsoup/Jsoup"라는 Gradle 빌드 관련 에러가 발생했습니다. 이는 Spring Boot 프로젝트에서는 경험하지 못한 문제였습니다. Spring Boot 는 jar 파일 빌드시 기본적으로 모든 dependency를 포함하기 때문입니다. 2. Gradle의 기본 동작 이해하기 이 문제를 해결하기 위해 Gradle 커뮤니티의 토론을 참고했습니다. First of all, the default jar that Gradle prod..
2024.01.29 -
Gradle에서 조건부 Jacoco 적용하기: CI/CD 파이프라인 최적화
최근에 우테크 블로그를 읽고, 코드의 품질을 관리하기 위해 Jacoco라는 도구를 도입했습니다. Jacoco는 코드 커버리지를 측정하는 도구로, 제가 작성한 테스트가 얼마나 코드를 잘 커버하는지 알려줍니다. 이를 통해 놓친 테스트 케이스를 찾아내고, 더 견고한 코드를 작성할 수 있었죠. 하지만, 실제 업무 중 급박한 상황을 겪으며 '긴급할 때는 코드 커버리지를 잠시 무시하고 버그부터 고쳐야 한다'는 생각이 들었습니다. 그래서 Jacoco 검사를 상황에 따라 선택적으로 실행하도록 설정하는 방법을 모색했습니다. Jacoco 설정 과정과 브랜치 변경 1. 첫 시도 - 우테크 블로그의 기본 설정: test { finalizedBy 'jacocoTestReport' } 설명: 이 설정은 Gradle의 test 태..
2024.01.10 -
JDK 21과 Gradle 호환성 에러: 원인 분석과 실질적 해결 방안
문제 상황 최근 Oracle OpenJDK 21을 사용하여 프로젝트를 구축하던 중, 예상치 못한 에러가 발생했습니다. 아래는 해당 에러의 스크린샷입니다. Unsupported class file major version 알고 가는 기본 개념 1. Gradle 이란 무엇인가? Gradle helps teams build, automate and deliver better software, faster. [출처] : https://gradle.org Gradle은 "Build 자동화 도구"로 정의될 수 있습니다. 간단히 말해, 소프트웨어 개발 과정에서 반복되는 빌드 작업을 자동화하여 개발자가 더 빠르고 효율적으로 소프트웨어를 제작할 수 있게 돕습니다. 2. 그렇다면 Build 란? build is the p..
2023.12.21 -
"Build 를 정지합니다", 프로젝트마다 다른 버전 (IntelliJ)
Getting Started | Client-Side Load-Balancing with Spring Cloud LoadBalancer This guide walks through building two projects, one of which is a dependency to the other. Consequently, you need to create two child projects under a root project. First, create the build configuration at the top level. For Maven, you need a pom.xml with spring.io 곧 계획 예정 중인 MSA 프로젝트를 혼자서 연습해 보기 위해 Spring Doc 의 Client-S..
2023.09.15