반응형

SW/Maven 29

Maven properties로 버전·경로 자동화하는 방법: POM 한 줄로 끝내는 Dynamic Build

Maven Properties 제대로 활용하기: 마음을 움직이는 실전 가이드 1. Maven properties, 왜 이렇게 설레는 걸까요? 프로젝트를 빌드하다 보면, 버전 번호나 경로 같은 값을 여기저기 하드코딩해 놓고 후회한 적이 한두 번이 아니죠. Maven의 properties를 제대로 쓰면, 그런 번거로움을 싹 없앨 수 있습니다. 게다가 POM 한 곳에서 값을 바꾸면 전체 빌드가 따라와 주니, 유지보수가 훨씬 수월해져요. 오늘은 implicit, system, custom까지 속속들이 파헤쳐서, 빌드를 한층 유연하게 만드는 노하우를 전해 드릴게요. 2. 기본부터 탄탄하게: Built‑in & Implicit PropertiesMaven은 프로젝트를 시작하는 순간부터 여러 built‑in 값..

SW/Maven 2025.10.29

Maven Plugin 만들기 완전 정복: Project‑Info Mojo 실전 튜토리얼

당신의 첫 Maven Plugin을 해방하라: Mojo 제작으로 떠나는 감성 충만 오디세이손으로 직접 Maven plugin을 설계·개발·배포하는 전 과정을 친절하고 감성적으로 안내합니다. 빌드 자동화의 기쁨을 경험해 보세요! 왜 이 글이 특별할까요?Maven plugin을 만드는 일은 단순히 빌드 도구를 커스터마이징하는 수준을 넘어, 반복 작업을 영리하게 없애고 팀의 시간을 선물하는 창조 행위입니다. 이 튜토리얼에서는 archetype 생성부터 다른 프로젝트에 적용하기까지 모든 단계를, 마치 옆자리 개발자가 속삭이듯 생생하게 풀어냅니다. ‘아, 나도 할 수 있겠구나!’ 하는 자신감이 절로 생길 거예요. 한눈에 보는 핵심 포인트대상: 자바 개발자 & DevOps 엔지니어, 그리고 자동화를 사랑하는 모든..

SW/Maven 2025.10.28

Nexus를 활용한 사내 Maven 저장소 구축 가이드 (Docker 기반)

개발자라면 꼭 알아야 할 필수 스킬: Docker로 Nexus 설정하고 Maven 프로젝트 배포까지 완전 정복요즘처럼 프로젝트 규모가 커지고 협업이 잦아지는 개발 환경에서, 아티팩트 관리가 엉망이면 빌드 한 번에 몇 시간씩 잡아먹는 건 순식간입니다. 바로 이런 문제를 해결해주는 도구가 있습니다. Nexus Repository Manager. 오늘은 이걸 Docker로 간편하게 설치하고, Maven 프로젝트를 로컬 저장소에 연결해 직접 배포하는 과정까지 상세히 소개할게요. Nexus를 써야 하는 이유?처음 듣는 분들도 있겠지만, Nexus는 단순한 저장소 매니저가 아닙니다. 외부 저장소(Maven Central 등)에서 의존성을 프록시로 받아오고, 우리가 만든 JAR, WAR 파일 같은 아티팩트를 내부..

SW/Maven 2025.10.27

Jenkins로 Maven WAR 파일 빌드하기 – EC2 기반 CI/CD 시작하기

EC2에서 Jenkins와 Maven으로 CI/CD 파이프라인 구축하기: 감성 가득한 완벽 가이드기술은 차갑다고들 하지만, 그 안에도 이야기가 있습니다. 이 글은 단순한 설치 매뉴얼이 아닙니다. 여러분이 Jenkins를 만나고, 함께 프로젝트를 빌드하며, 진짜 개발자로 성장해 가는 여정을 따뜻한 시선으로 담아낸 안내서입니다. 초보 개발자든, 현업에서 바쁘게 뛰고 있는 DevOps 엔지니어든, 이 페이지에서 한 걸음 더 나아갈 준비를 해보세요. Jenkins 설치: EC2에 첫 발을 내딛다조용히 켜진 Linux 기반 EC2 인스턴스. 텅 빈 화면 속에서도 뭔가 위대한 일이 시작될 것만 같은 느낌이 들죠. Jenkins를 설치해 봅시다.EC2 인스턴스를 실행한 뒤 SSH로 접속하세요.대부분의 Amazon ..

SW/Maven 2025.10.26

AWS EC2 Free Tier로 Jenkins CI/CD 파이프라인 완성하는 법, 처음부터 끝까지!

Jenkins와 AWS EC2 Free Tier로 시작하는 CI/CD 완벽 가이드 1. 왜 지금 CI/CD인가?제품을 더 빠르게 출시하고 싶은가요? CI/CD 덕분에 코드가 commit되는 순간부터 배포까지의 거리가 극적으로 짧아집니다. 버그를 조기에 발견하고, 배포 스트레스를 줄이며, 팀 전체의 생산성을 높이는 데 이만한 도구가 없습니다. 무엇보다 "작은 성공을 빠르게 반복" 하는 경험은 개발자에게 큰 성취감을 줍니다. ■ 개발자 일상의 ‘희로애락’를 바꿔주는 마법기쁨(喜) : merge와 동시에 Jenkins가 즉시 build & test를 돌려주는 순간, “이번에도 깨지지 않았네!” 하는 안도감이 찾아옵니다.노여움(怒) : 실패한 pipeline 덕분에 숨은 의존성 이슈를 조기 발견 → 큰 장애로..

SW/Maven 2025.10.25

Maven pom.xml에 Spring Boot BOM 적용해 의존성 충돌 끝내기

XML 악몽에서 원‑클릭 매직으로Spring Boot로 떠나는 감성 코딩 여행 “코드를 짜기 전에 설정부터 정리하느라 하루를 보내셨나요?Spring Boot는 그 지루한 시간을 단숨에 ‘Run’ 버튼 하나로 바꿔 줍니다.” 안녕하세요, 개발자라면 한 번쯤 겪었을 XML configuration 악몽. 수십 줄짜리 applicationContext.xml을 붙잡고 새벽을 지새우던 기억, 아직도 생생하죠? 오늘은 그 시간을 과감히 삭제하고, Spring Boot라는 이름의 워프 포털로 뛰어드는 방법을 이야기합니다. 이 글은 원문 내용을 한국어로 마음껏 의역하면서도, Spring Boot·STS·JDK·dependency injection 같은 SW 용어는 그대로 살려 두었습니다. 마치 동료 개발자에게 커피 ..

SW/Maven 2025.10.24

Jacoco 테스트 커버리지 설정법부터 SonarQube 연동까지 한 번에 배우기

Maven 코드 품질 완전정복: Jacoco Test Coverage & SonarQube Dashboards 감성 가이드 새벽 3시의 나를 구원하는 코드 품질"코드는 미래의 나에게 보내는 사랑의 편지"라는 말, 한 번쯤 들어보셨죠? 하지만 커버리지가 20%대면 그 편지는 악필이나 다름없습니다. Jacoco로 테스트 지도를 그리고, SonarQube로 전체 헬스 체크를 하면, 불안 대신 든든함이 찾아옵니다. 이 글은 두 툴을 한 방에 세팅하면서도 감성을 잃지 않는 로드맵입니다. 명령어, XML 태그, 트러블슈팅까지— 전부 담았으니 마음 편히 따라오세요. 1. 테스트 커버리지가 주는 심리적 안정감핫픽스 배포 버튼을 눌렀는데 "혹시 몰라..." 하는 불안이 스멀스멀 올라온 적 있으신가요? Jacoco는 ..

SW/Maven 2025.10.23

Maven Build Profiles 완전 가이드: dev·test·prod 환경 전환 한 번에 끝내는 법

Maven Build Profiles로 멀티 환경을 유연하게! – 개발자의 새벽을 구해줄 장편 스토리텔링 가이드개발 PC에서는 잘 돌아가던 build가 스테이징 서버만 가면 ‘DB 연결 실패’ 에러로 괴성을 지른 적 있나요? 저도 그런 땀 냄새 나는 새벽을 겪었습니다. 그래서 오늘, 그 아픈 기억을 기반으로 Maven build profiles가 어떻게 우리의 Deployment 스트레스를 사라지게 만드는지 따뜻한 이야기를 곁들여 풀어보려 합니다. 1. Build Portability가 왜 이렇게 중요한가?QA 팀원이 테스트 서버를 띄우자마자 “Database 아직도 개발용이네?!” 하고 외치는 장면, 한 번쯤 보셨죠? 그때 우리는 파일 뒤적이며 jdbc.url 값을 바꾸고, 덜컥 배포 재시작 버튼..

SW/Maven 2025.10.22

Maven 다중 모듈에서 JUnit 버전 통일하는 법: dependencyManagement 완벽 가이드

Maven 다중 모듈 프로젝트, 의존성·플러그인 버전 싱크로율 100% 만드는 꿀팁“코드는 팀워크의 악보다. 음이 하나라도 틀리면 합주는 무너진다.” – 늦은 밤 빌드 서버 앞에서 터져 나온 어느 DevOps 엔지니어의 넋두리 dependencyManagement와 pluginManagement를 한 방에 잡아주는 parent POM 노하우를 소개합니다. JUnit 3·4·5 버전 충돌부터 Spring Framework, Hibernate 같은 복잡한 트랜짓 의존성까지, Maven 다중 모듈 프로젝트를 사랑스럽게 통제하는 실전 가이드! 버전 불일치, 왜 골칫거리일까?세 팀이 같은 릴리스 기차를 타고 달립니다. 하지만 각자 pom.xml에서는 다른 JUnit 버전을 몰래 품고 있죠.팀 숨은 의존성Alp..

SW/Maven 2025.10.21

Maven dependency scope 한방에 이해하기: compile·provided·runtime 차이 완벽 정리

Maven Dependency Scope 완전 정복: 빌드 오류 잠재우는 따뜻한 로드맵 1. 프롤로그 – pom.xml 한 줄이 왜 그렇게 중요한가?야근 조명 아래, 식어버린 라떼를 홀짝이며 빌드 실패 로그를 멍하니 바라본 적 있나요? 대부분의 경우 범인은 pom.xml에 숨어 있는 scope 태그입니다. 이 한 줄이 언제, 어디서, 어떻게 라이브러리가 classpath에 올라탈지를 결정하죠.JUnit 같은 테스트 전용 JAR이 Docker 이미지 용량을 키우거나 Servlet API가 WAR 내부에 중복 복사돼 Tomcat 클래스로더 전쟁을 일으킨 경험이 있다면 이미 scope와 씨름해 본 셈입니다.이 글은 Maven의 여섯 가지 dependency scope를 감성·실전·베스트 프랙티스 관점으로 풀..

SW/Maven 2025.10.20

Eclipse에서 Multi-Module Maven 프로젝트 한 방에 Import하는 법 (+ WAR Plugin 오류 해결)

Eclipse에서 Multi‑Module Maven 프로젝트를 깔끔하게 관리하는 법: Parent POM 폴더링과 WAR Plugin 오류 종결 가이드“혼돈과 장인 정신의 차이는 결국 ‘폴더 하나’에서 갈린다.”— 새벽 두 시쯤 커피에 의존하던 어느 개발자 왜 이 글이 필요한가? 💡Eclipse Workspace가 마치 방학 끝난 중학생 책상처럼 어질러져 있나요? 빨간 X 마크는 여기저기서 경고음을 울리고, Maven 빌드는 "default property field"를 못 찾겠다며 멈춰 서고….질서가 필요하다면, 이 글이 그 해답입니다. 이 글이 다루는 내용product-parent 폴더를 만들어 모듈을 한데 모으기Eclipse에서 프로젝트를 삭제 → 재가져오기 하는 똑똑한 순서악명 높은 Maven ..

SW/Maven 2025.10.19

Multi Module Maven 프로젝트 튜토리얼: Parent POM 설정부터 WAR 파일 Tomcat 배포까지 한눈에 정리

멀티 모듈 Maven 프로젝트 완전 정복: Parent POM부터 WAR 배포까지 폴더 하나로 시작해 웹앱까지, 그 짜릿한 여정커피 향이 퍼지는 새벽, IDE 창이 수십 개 열려 있는 그 순간. product-service · product-web 모듈 코드는 잔뜩 쌓였는데, “Deploy” 버튼 앞에서 손이 떨린다면? 이 글이 해답이다. 강의 스크립트의 모든 디테일을 현지 감성으로 재가공해서, 한 편의 이야기처럼 풀어냈다. 목표는 간단하다.parent POM 하나로 자식 모듈을 우아하게 지휘하는 법mvn clean install 때 Maven reactor가 순서를 자동 정하는 원리Spring 기반 servlet이 폼 데이터를 받아 Product DTO로 변환하고 응답까지 보내는 과정손맛 나는 W..

SW/Maven 2025.10.18

Eclipse와 Tomcat 10으로 Jakarta Servlet 5.0 웹앱 만드는 법 (Maven 설정 포함)

Eclipse, Maven, Jakarta Servlet 5.0로 구축하는 다이내믹 Product Management Web App – 2025 감성 가이드Eclipse·Maven·Tomcat 10+ 환경에서 Product Create Servlet과 Display Servlet을 단계별로 만드는 법. pom.xml 설정, HTML 폼, 실전 팁 총망라. 왜 이 튜토리얼이 특별할까요?직접 만든 Java 코드가 브라우저에서 살아 숨 쉬는 순간, 온몸에 전기가 흐르듯 짜릿하죠. 이번 글에서는 Jakarta Servlet 5.0 기반으로 product를 등록하고, 그 정보를 HTML table에 바로 뿌려주는 미니 웹앱을 함께 완성해 봅니다. Tomcat 10+에서 javax.servlet 대신 jakar..

SW/Maven 2025.10.17

Maven 웹 프로젝트 만들기 입문자용 한 방 정리 가이드

Eclipse로 Maven 웹앱 만들기 - 진짜 쉬운 입문자 버전처음 웹 애플리케이션 만들어본다고요? 걱정 마세요. 저도 예전에 헤매던 시절이 있었거든요. 오늘은 Eclipse랑 Maven을 가지고 아주 기초부터 같이 해볼 거예요. 저처럼 삽질하지 말고, 이 글 보면서 천천히 따라와 보세요. Maven이 뭐길래 다들 쓰라고 할까요?솔직히 저도 처음엔 '이게 뭔데 이렇게 복잡해 보이지?' 싶었어요. 근데 알고 보면 참 편한 친구입니다. 일일이 라이브러리 찾아서 넣고 빌드하고... 이런 귀찮은 일들을 자동으로 해주는 똑똑한 도우미죠. Eclipse랑 같이 쓰면 개발 환경도 깔끔하게 정리되고요. Step 1: Maven 웹 프로젝트 만들기 (정말 쉬워요)자, 이제 Eclipse를 켜고 준비합시다.File >..

SW/Maven 2025.07.19

Spring 없이 Product BO Layer 쉽게 만드는 법 (Java 왕초보도 가능한 실습 가이드)

어려운 건 싫고, Product BO Layer 쉽게 배우기 (Spring 없이도 충분해요)안녕하세요, 여러분! 오늘은 Java 애플리케이션에서 꼭 필요한 Product BO Layer를 만드는 법을 얘기해보려 해요. 사실 저도 처음엔 뭐가 뭔지 몰라서 머리가 지끈지끈했었죠. 특히나 Spring은요, 초보자에겐 너무 빡세요. 그래서 이번엔 진짜 기초부터, 그냥 깔끔하게 핵심만 배워볼 거예요. 왜 이렇게 단순하게 가는 거냐고요?솔직히 말해볼게요. 저도 한때 Spring이 뭐고 Spring Boot가 뭔지 헷갈리던 시절이 있었거든요. 설정 파일만 봐도 한숨 나오고, 따라 하다 포기한 적도 많았죠. 그래서 이번엔 그런 복잡한 거 싹 빼고, 일단 Product BO가 뭔지, 왜 필요한지부터 가볍게 가볼 거예요..

SW/Maven 2025.07.17

Eclipse에서 Maven 빌드할 때 Unit Test 건너뛰는 초간단 실전 방법

Eclipse에서 Maven으로 Unit Test를 건너뛰는 법: 개발자라면 공감할 현실적인 꿀팁솔직히 말해서, 개발하면서 매번 build할 때마다 unit test가 돌아가는 거... 귀찮을 때 많지 않나요? 딱히 core logic 건드린 것도 아닌데, UI 색깔 좀 바꿨다고 test가 돌고, 그거 기다리느라 멍하니 모니터만 쳐다보는 거죠. 저도 그런 날 많았습니다. 그래서 오늘은 Eclipse에서 Maven을 쓸 때, unit test를 깔끔하게 건너뛰는 방법을 아주 쉽게 알려드릴게요. 겁먹지 마세요. 해보면 별 거 아니거든요. Unit Test, 왜 굳이 지금 해야 해?물론, unit test는 코드 지키미 같은 존재죠. 근데 매번 다 돌릴 필요는 없잖아요. 예를 들어, 버튼 색상 바꾼다고 lo..

SW/Maven 2025.07.16

Eclipse 없이 터미널로 Maven 빌드하는 초간단 방법 (테스트 스킵까지 꿀팁 정리)

터미널로 Maven 프로젝트 빌드하는 진짜 쉬운 방법, 해봤어요혹시 아직도 Eclipse만 붙잡고 계신가요? 저도 그랬습니다. 근데요, 터미널에서 직접 빌드하는 거, 생각보다 별거 아니더라고요. 이번에 직접 해본 경험을 바탕으로, 친구한테 얘기하듯 풀어볼게요. 진짜 준비됐나? 환경 체크부터!먼저, 내 컴퓨터가 Maven을 알아듣는지부터 확인해야겠죠? 터미널 켜고 mvn -v 한번 쳐보세요. 숫자가 뜨면 OK, 안 뜨면 아마 PATH 설정이 빠져있을 거예요. 예전엔 저도 몰라서 한참 헤맸거든요. 내 프로젝트 어디있더라? 폴더 찾아가기Windows 쓰시는 분들은 Command Prompt, Mac 유저라면 Terminal 켜주세요. 저는 늘 쓰던 경로가 있어서 이렇게 가요:cd Documents/mave..

SW/Maven 2025.07.15

ProductDAO 테스트부터 Maven 실행까지, JUnit으로 배우는 Java 테스트 입문

JUnit로 배우는 Java 유닛 테스트 - ProductDAO 테스트 쉽게 따라하기소프트웨어를 만드는 건 집을 짓는 것과 비슷합니다. 기둥, 벽, 지붕이 제 역할을 하지 않으면 무너질 위험이 있죠. Java 개발자들에게 JUnit은 이런 구조물을 튼튼하게 지탱해주는 안전망 같은 존재입니다. 이번에는 JUnit을 이용해 ProductDAO 클래스를 테스트하는 방법을 쉽고 친근하게 배워봅시다. Java 개발자들이 JUnit을 좋아하는 이유JUnit은 Java에서 가장 널리 쓰이는 테스트 툴입니다. 배우기 쉽고, 자유롭게 활용할 수 있으며, 필요한 자료도 풍부하죠. JUnit은 마치 개발자들의 필수템처럼, 누구나 한 번쯤은 익혀야 하는 도구입니다. 시작해보기: JUnit Test Case 만들기Produc..

SW/Maven 2025.07.14

JUnit 5 빌드 오류 해결법: dependency와 Surefire plugin 설정 제대로 하는 법

JUnit 5 빌드 오류? 나도 한때 멘붕이었어요JUnit 5 테스트가 자꾸 실패한다고요? 아, 저도 그랬어요. 처음엔 뭘 잘못했는지도 몰랐죠. 괜히 코드를 탓하고, IDE 탓하고, 심지어 내 노트북까지 의심했답니다. 근데 진짜 원인은 너무 단순했어요. 바로 dependency 문제와 Surefire plugin 때문이었죠. JUnit 5에서 제일 중요한 한 가지JUnit 5 테스트 실행을 위해 반드시 필요한 핵심 dependency는 JUnit-Jupiter-Engine입니다.이 dependency가 없으면 테스트는 절대 실행되지 않습니다.많은 사람들이 이걸 몰라서 테스트 실패를 경험합니다. 진짜 이거 하나만 기억하세요. JUnit-Jupiter-Engine. 이게 없으면 JUnit 5는 그냥 “나 ..

SW/Maven 2025.07.13

Eclipse에서 JUnit 3.8.1을 4.4로 쉽게 업그레이드하는 법

JUnit 업그레이드? 겁먹지 마세요, 같이 해봐요!혹시 아직도 프로젝트에서 예~전 버전 JUnit 3.8.1을 쓰고 계신가요? 저도 예전에 귀찮아서 방치했다가 고생한 적이 있거든요. 이번에 딱 마음먹고 JUnit 4.4로 올렸더니, 세상 편해졌습니다. 오늘 저랑 같이 차근차근 해볼게요. 어렵지 않아요! JUnit 4, 왜 꼭 바꿔야 할까요?솔직히 말씀드리면, 3.8.1은 이제 너무 낡았죠. 마치 플립폰 쓰는 기분? JUnit 4는 어노테이션 덕분에 테스트 코드가 정말 간단해지고, 관리도 쉬워집니다. 직접 써보면 ‘왜 진작 안 했지?’ 싶을 거예요.JUnit 3.8.1은 너무 오래된 버전입니다.JUnit 4는 어노테이션으로 코드 작성과 관리가 더 쉬워집니다.실제로 써보면 효율성과 편리함을 바로 체감할 ..

SW/Maven 2025.07.11
반응형