빌드 도구
메이븐의 .lastupdated 확장자 파일이란?
메이븐 repository 디렉토리 내부에는 .lastupdated 확장자를 가진 파일이 존재한다. 메이븐의 .lastupdated 파일은 소위 마커 파일 (표시용 파일) 이라 불리는 파일이다. 최근 라이브러리 (artifact) 가 언제 업데이트 되었는지를 관리하기 위한 파일이다. 메이븐 클라이언트는 이 파일의 날짜가 최신 라이브러리 업데이트 일자보다 뒤쳐져있다면, 최신 라이브러리를 다운로드 받는다. .lastupdated 파일은 메이븐 클라이언트에 의해 자동으로 생성된다.
자바 웹 프로젝트 배포에 쓰이는 용어 및 개념 정리
개요 자바 언어를 쓰는 사람들의 대부분은 웹 프로젝트를 구성하기 위해서 자바 언어를 사용한다. 이 때 우리는 보통 빌드와 배포를 도와주는 Maven 이나 Gradle 과 같은 도구를 활용하여 빌드 및 배포를 진행한다. 배포를 하다보면 생각보다 다양한 문제 상황들이 생기는데, 때로는 프로젝트에서 대부분의 파일은 그대로 두고 몇개의 파일만 새로 배포하고 싶을 때도 있고 때로는 통째로 모든 파일을 뒤엎어버리고 싶을 때도 있다. 도구에서 지원하는 버튼 하나로 매일 배포하다가 특수한 상황에서 배포를 할 때, 배포에 대한 지식이 없으면 혼란스러운 경험을 할 수 있다. 용어 정리 기본적인 용어를 알아야 배포 관련 설명을 이해할 수 있다. 빌드 (Build) .java 파일을 .class 파일로 컴파일하고, 기존의 파..
메이븐 인코딩 에러 해결하기
메이븐 인코딩 에러 해결 내 현재 인코딩 정보 보는 방법 mvn --version 명령어를 통해 볼 수 있다. $ mvn --version Apache Maven 3.8.1 (05c21c65bdfed0f71a2f2ada8b84da59348c4c5d) Maven home: C:\Users\jks\AppData\Local\JetBrains\Toolbox\apps\IDEA-U\ch-0\213.7172.25\plugins\maven\lib\maven3 Java version: 11.0.14.1, vendor: Amazon.com Inc., runtime: C:\Program Files\Java\jdk-11.0.12 Default locale: ko_KR, platform encoding: MS949 OS nam..
로컬 파일 메이븐 의존성 추가하기
로컬에 존재하는 jar 파일을 maven 으로 임포트하기 보통 로컬에 존재하는 jar 파일을 IDE 에서 아래와 같이 add external jars 도구를 이용하여 많이 사용한다. intellij 의 경우 Project Settings > Modules > Dependencies 에 있는 + 버튼을 클릭하면 위와 같이 추가가 가능하다. 이 방법으로도 외부에 존재하는 jar 파일을 불러올 수 있지만, 이렇게 하면 매번 intellij 의 빌드 메뉴를 이용해야 하기 때문에 maven 명령어를 이용한 자동화가 어렵다. 물론 가능할 수도 있는데, 어떻게 하는지 잘 모른다.. 그래서 maven 에서 직접 파일을 가져와주는 것이 maven 명령어를 사용하기 좋다. 의존성 주입하기 inipaysample inipa..
intellij mvnw 파일이 없을 때 메이븐 경로 잡기
스프링부트가 아닌 메이븐 프로젝트에서의 문제 스프링부트는 mvnw 라는 파일을 제공하여, 쉽게 메이븐 명령어를 이용할 수 있게 해준다. 그러나 스프링부트로 생성하지 않은 메이븐 프로젝트는 mvnw 파일을 제공하지 않는다. 이럴 때 메이븐 명령어를 사용할 수 있도록 만들고 싶다. intellij 를 기준으로 문제를 해결해보자. maven home 잡기 intellij 를 사용하면, maven 이 이미 설치되어 있다. intellij 를 사용하지 않는다면, maven 을 따로 설치하여 그곳을 시스템 환경변수 PATH 에 추가하면 된다. intellij 를 실행하면 나오는 우측 메뉴에서 라이프사이클 중 아무거나 실행하면, 로그에 메이븐 위치가 나온다. 여기서 -Dmaven.home=... 에 나오는 부분이 메..
메이븐 유저가 꼭 알아야 할 메이븐의 골(Goal)과 페이즈(Phase)란 무엇일까?
메이븐 빌드 라이프사이클 (Maven Build Lifecycle) 메이븐 라이프사이클은 빌드와 배포 중에 일어나는 작업들을 정의한 것이다. 빌트인으로 제공하는 것으로는 default, clean, site 가 있다. 메이븐 빌드는 타겟 프로젝트의 배포를 위해 특정한 라이프사이클을 따른다. 빌드인 라이프사이클로는 아래의 항목이 있다. default: 메인 라이프사이클로 배포에 대한 책임이 있다. clean: 이전 빌드에서 생성된 모든 파일을 지워서 프로젝트를 깔끔하게 만들어준다. site: 프로젝트의 사이트 문서를 만들어준다. 각각의 라이프사이클은 연속된 여러 개의 페이즈로 이루어져있다. 예를들어 default 빌드 라이프사이클은 23개의 페이즈를 포함한다. clean 은 3개, site는 4개를 포함한..
메이븐이란? (What is Maven)
소개 Maven 은 유대어로 지식의 축적자라는 의미를 가지고 있다. 자바로 관리되는 프로젝트를 관리하고 빌드하는데 도움을 주는 도구이다. 목적 빌드 과정을 쉽게 만들어준다 개발자가 빌드에 필요한 많은 세부지식을 모르더라도 프로젝트를 빌드할 수 있게 해준다. 물론 기본 매커니즘을 몰라도 된다는 이야기는 아니다. 획일화된 빌드 시스템을 제공한다 메이븐은 Project Object Model (POM) 파일과 함께 플러그인의 조합을 이용하여 프로젝트를 빌드한다. 한번 빌드 과정에 익숙해지면 메이븐으로 빌드되는 프로젝트를 살펴보는데 드는 시간을 매우 줄일 수 있다. 양질의 프로젝트 정보를 제공한다 프로젝트 소스코드에서 생성된 POM 파일에는 유용한 정보가 있다. 이를테면 다음과 같은 정보를 제공한다. Sourc..