Maven - 의존성 충돌 해결 전략

의존성 충돌 발생 원인 및 해결 방식 모듈 간 의존성 관계가 중첩될 경우, 동일한 라이브러리의 서로 다른 버전이 동시에 포함되어 충돌이 발생할 수 있습니다. 특히 상속 구조를 통해 의존성을 공유할 때 이러한 문제가 자주 나타납니다. Maven은 다음과 같은 두 가지 규칙을 통해 의존성 충돌을 자동으로 해결합니다: 경로 최단화 우선 (Shortest Path Priority): ...

7월 16일 01:04에 게시됨

Maven 로컬 저장소 의존성 활용하기

Maven 빌드 의존성 처리 과정 mvn compile 명령을 실행하여 소스 코드를 컴파일할 때, 필요한 외부 라이브러리가 있다면 Maven은 pom.xml 파일에서 해당 의존성의 좌표 정보를 확인한다. 예시: <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> ...

7월 15일 01:49에 게시됨

ZXing 라이브러리 의존성 관리 및 버전 고정 실전 가이드

ZXing ("Zebra Crossing")은 Java 및 Android 환경에서 널리 사용되는 강력한 바코드 스캔 라이브러리입니다. 이 글에서는 ZXing 프로젝트에서 의존성을 고정하고 버전을 효과적으로 관리하는 실전 가이드와 팁을 제공하여, 프로젝트 개발 중 발생할 수 있는 의존성 문제를 해결하고 코드의 안정성과 신뢰성을 확보하도록 돕겠습니다. ZXing 프로젝트에서 의존성 고정이 ...

7월 14일 07:00에 게시됨

Spring Boot와 Maven을 활용한 다모듈 프로젝트 구성

이 문서에서는 Eclipse IDE를 사용하여 Spring Boot 기반의 다모듈 구조를 갖춘 프로젝트를 설정하는 방법을 설명합니다. 전체 프로젝트 이름은 student이며, 다음과 같은 세 가지 하위 모듈로 구성됩니다: student-web, student-setting, student-util. student-web: 웹 애플리케이션의 진입점으로, war 형식으로 빌드되며 스프링 부트 애플리케이션을 실 ...

7월 12일 22:12에 게시됨

GitHub Actions와 Jenkins를 활용한 다국어 CI/CD 하이브리드 파이프라인 구축

현대 소프트웨어 개발팀은 다양한 프로그래밍 언어가 공존하는 기술 스택을 자주 마주합니다. 효율적이고 일관된 CI/CD를 구현하기 위해 GitHub Actions와 Jenkins를 결합한 하이브리드 파이프라인은 유연하면서도 확장 가능한 해결책을 제공합니다. GitHub Actions는 코드 푸시 트리거와 간단한 빌드를 담당하고, Jenkins는 복잡한 다국어 테스트, 아티팩트 패키징, 다중 ...

7월 7일 02:37에 게시됨

커맨드 라인을 활용한 Maven Java 및 웹 프로젝트 생성과 빌드 명령어 가이드

Maven은 프로젝트의 빌드, 의존성 관리, 문서화 등을 자동화해주는 강력한 빌드 도구입니다. IDE(통합 개발 환경)에 의존하지 않고 커맨드 라인 인터페이스(CLI)를 통해 Maven 프로젝트를 생성하고 빌드하는 방법을 살펴보겠습니다. 1. Maven Java 기본 프로젝트 생성 터미널 또는 명령 프롬프트를 열고 다음 명령어를 실행하여 기본 Java 프로젝트를 생성할 수 있습니다. ...

7월 6일 02:23에 게시됨

Protobuf 3.x와 HBase 내장 Protobuf 2.5.0 버전 충돌 해결 사례

개발 중 Protobuf 3.6.1을 사용하여 템플릿 코드를 생성했는데, HBase 1.2.1-cdh5.1.4.0과 함께 사용할 때 버전 충돌이 발생했습니다. Maven 의존성 트리를 확인하면 HBase가 Protobuf 2.5.0을 내장하고 있음을 알 수 있습니다. 빌드 단계에서는 문제가 없지만, 런타임 시 다음 오류가 발생합니다: java.lang.ClassNotFoundException: com.google.protobuf.LiteralByteSt ...

7월 4일 23:05에 게시됨

Java 애플리케이션을 활용한 Redis 클라이언트 연동 및 데이터 타입 실무

환경 구성 및 의존성 설치 Redis 서버가 로컬 또는 원격 환경에서 실행 중임을 가정하고, Java 기반 프로젝트에서 외부 스토어 접근을 위한 라이브러리 설치를 먼저 수행합니다. Maven 관리를 통해 필요한 종속성을 정의하며, 본 가이드에서는 Jedis와 Redisson 두 가지 주요 클라이언트를 활용하여 비교 분석합니다. pom.xml 파일 내부의 <dependencies> 영역에 다 ...

7월 4일 01:59에 게시됨

Spring MVC 웹 프로젝트 구축 - XML 기반 설정

Spring MVC 웹 애플리케이션 구현 절차는 다음과 같습니다: 1. 프레임워크 의존성 설정 2. 서블릿 컨테이너 구성 3. 요청 처리 로직 및 뷰 템플릿 생성 4. 배포 및 실행 핵심 개념: Spring MVC 환경 구축은 필요한 라이브러리 의존성을 정의하는 과정이며, 서블릿 매핑 및 스프링 설정 파일 구성은 요청 처리 파이프라인을 형성합니다. 1. 프레임워크 의존성 관리 Maven ...

7월 3일 18:12에 게시됨

Maven 플러그인을 활용한 SpringBoot 애플리케이션 Docker 이미지 구축

개요 본 문서에서는 Maven 플러그인을 활용하여 SpringBoot 애플리케이션을 Docker 이미지로 패키징하고, 사설 레지스트리에 업로드하는 과정을 상세히 설명합니다. Docker 명령어에 익숙하지 않은 개발자는 먼저 기본 Docker 명령어 관련 자료를 참고하시기 바랍니다. Docker Registry Docker Registry 2.0 설치 docker run -d -p 5000:5000 --restart=always --name my ...

7월 3일 03:39에 게시됨