Tagged

maven

A collection of 51 posts

maven

서블릿 3.0 메이븐 의존성은?

2.5까지는 groupId가 javax.servlet이고 artifactId가 servlet-api이고 version은 2.4나 2.5썼었으니까 3.0도 버전만 3.0으로 바꾸면 되겠지라고 생각했지만 안 그랬다. Please specify a Gist URL or ID. 그래서 좀 찾아봤는데 이게 답인것 같다. http://stackoverflow.com/questions/1979957/maven-dependency-for-servlet-3-0-api 여길보면 조금 엉뚱한게 답변으로 채택되어있는데 굳이 써드파티 메이븐 저장소에서

Archetype

아키타입(메이븐 프로젝트 베이스) 만들기

메이븐에는 아주 괜찮아 보이는 기능이 하나 있습니다. 프로젝트 기본 구조를 생성해주는 아키타입이라는 기능입니다. 매번 프로젝트 시작할 때마다 pom.xml에 필요한 라이브러리 정의한 것조차 매우 귀찮습니다. 웹 프로젝트일 경우에는 자주 사용하는 설정 파일들까지도 매번 다른 프로젝트에서 복사해서 붙여 넣던지 이클립스에 등록한 템플릿 코드를 사용해서 찍어내다시피 합니다. 이런 것들을 전부 처음부터 프로젝트

build

Maven 프로젝트 의존성 파일들 패키징하기

보통, mvn package를 하면, 해당 프로젝트의 의존성 라이브러리들은 그대로 둔채 패키징을 합니다. 그런데, 배포 할 때는 maven을 사용하지 않는 분들을 위해서 이 프로젝트가 의존하고 있는 다른 라이브러리들도 같이 배포해주는 것이 좋을 겁니다. 그럴 때 유요한 플러그인은 바로 maven-dependency-plugin 입니다. maven-assembly-plugin이 이런 일을 해주는게 아닌지 싶어서 이것 저것 해봤는데, 이 플러그인은

디렉토리 설정

Maven 같지 않은 Maven 프로젝트 만들기

위 프로젝트는 일반적인 이클립스의 웹 프로젝트와 다름 없이 src와 test 소스 폴더를 가지고 있고, 웹 폴더도 루트바로 밑에 webapp를 사용하고 있습니다. 하지만, 이 녀석은 메이븐 프로젝트 입니다. 맨 아래에 pom.xml 보이시죠? 사부님이 전에 작성하셨던 메이븐 기본 디렉터리 설정 방법과 Arawn님의 메이븐 웹 폴더 설정 플러긴 사용방법을 조합하면 위와 같은

멀티 모듈

Maven 멀티 모듈 프로젝트 구성하기

간단하네요~ 상위 프로젝트(부모-자신 관계가 아닌, 다단 구조에서 상위)의 pom.xml에서 해당 프로젝트의 packaging을 pom으로 하고, <modules> 엘리먼트를 사용해서 하위 프로젝트의 이름을 명시해주면 됩니다. 그럼 상위 프로젝트에서 빌드를 하면, 자신은 물론 자신이 <modules>에 명시한 모든 프로젝트를 동일하게 빌드해줍니다. 상위 pom.xml …   

배포

Maven을 활용한 배포

배포도 여러 종류가 있겠지만, 우선은 개발시에 배포가 필요합니다. 톰캣이나 제티위에 웹 애플리키에션을 올려서 확인해봐야겠죠. 이렇게 배포한 것은 개발용도 이고, 오직 한 명의 개발자 용도로 배포하는 것이니 개발 환경 배포라고하겠습니다. 그리고 테스트 환경에 배포하여 다른 팀원 및 고객들도 공통으로 현재 돌아가는 웹 애플리케이션을 볼 수 있도록 배포할 수 있습니다. 팀 환경

maven

Nexus - Maven Repository Manager 설치하기

Sonatype에서 만든 메이븐 저장소 관리 툴입니다. Artifactory라는 툴도 있지만, 자꾸 UI가 벗겨지는 문제가 있어서.. 흠;; 어쨋든 소나타입이 만들었다고 하니 왠지 써보고 싶고, 사부님도 강추를 하고 있어서 설치했습니다. 설치 방법은 Artifactory 만큼이나 간단했습니다. 참조: http://nexus.sonatype.org/ 1. 다운받기2. 포트 설정 변경하기(option)3. 실행하기4. 로그인하기 1. 다운받기 http://nexus.

Continuous Integration

로컬에서는 무사히 빌드가 되는데, 왜 서버로 올라가서 CI가 돌리면 컴파일 에러가 날까

이럴 때가 정말 황당하고 답답한데, 뭐 방법은 역시 에러 메시지를 잘~~ 살펴보면 됩니다. 아님, 사부님한테 물어보던지요.ㅋㅋ문제 분석 일단 CI 서버에서 문제가 생기면, 로그 메시지를 보고 어느 Phase에서 에러가 난건지 확인 합니다. 컴파일 에러가 났으면 당연히 compile Phase에서 에러가 난거겠죠. 그럼 로컬에서는 어떤지 로컬에서 compile을 해봅니다. 즉 mvn compile 이라고

graphviz

메이븐 플러그인 탐험기1 - UMLGraph

소스코드를 보고 UML을 만들어 주는 UMLGraph라는 툴을 메이븐 빌드 과정 중에 플러긴으로 설치해서 리포트를 뽑아내는게 목적입니다. 물론 최종 목적은 코드와 모델을 항상 최신의 상태로 똑같은 상태로 유지하는 것입니다. 코드 보다 그림이 보기 좋은데, 그림이 실제 코드랑 다른 상태에서 어떤 결정을 하게되면……. 그래서 소스 코드에서 UML을 뽑아내는 툴을 사용해보기로

Dependency mediation

exclusion을 하까마까

옛날에 애마좐(Amazon) 유역에 사는 ‘치카마카’라는 거미의 거미줄로 실을 짜서 쫄티를 만들었다는 분이 있었는데 그걸 보면서 정말 웃겨 죽는 줄 알았던 기억이 납니다. 생각난 김에 동영상을 추가해둘까요? ㅋㅋ http://dbi.video.cyworld.com/v.sk/movie/0%7C16029663/20070826120800233541951001 13분 정도 되는 동영상을 잼난 부분만 편집한 동영상인데도

Archetype

Spring Dynamic Modules Maven Archetype

스프링 DM은 메이븐 아키타입archetype을 제공하여 스프링 DM 번들 개발 시에 사용할 수 있는 자바 프로젝트 기본 틀을 제공한다. 아키타입을 실행하려면 다음의 명령어를 사용하면 된다. mvn archetype:generate 메이븐 플러그인이 가용한 archetype을 보여줄 것이다. 그 중에서 spring-osgi-bundle-archetype을 선택하면 된다.(현재 32번으로 설정되어 있다.) 그리고 프로젝트에 필요한 몇 가지 정보를 입력한다.(그룹id,

buildr

메이븐을 대체할 것인가~ Buildr

루비로 만들고 있다는 새로운 빌드 툴. 사부님 소개로 알게 되었는데 괜찮은 녀석 같아 보입니다. Maven 보다 빠르고 확장성 좋고 편하고 쉽게 같은 일들을 할 수 만 있다면 Maven에서 Buildr로 안 갈아탈 이유가 없겠죠. 메이븐은 좀더 편의성을 도모하지 않으면 앞으로 점차 JAR 저장소로만 그 이름을 이어가게 되지 않을런지…사실 메이븐

Common Repository

Ivy로 메이븐 저장소를 사용하기

Maven이 의존성 관리나, 다양한 플러그인들, 기본 와꾸 만들어주기(아키타입) 등의 기능 면에서 좋긴 한데, 학습 곡선 높고(Ant에 비해), 적응 시간이 오래 걸린다는(역시 Ant에 비해) 단점이 있습니다. 의존성 관리는 사실 사람이 개입하지 않고서 자동으로 처리하기는 참으로 난감한데, 그래도 초기에 한 번 고생하고, 주기적으로 한 시간간 정도만 고생하면 모든 라이브러리들을

메이븐

Maven을 사용하세요. 코딩이 편해집니다.

mvn eclipse:eclipse -DdownloadSources=true -DdownloadJavadocs=true eclipse:eclipse는 단순하게 메이븐 프로젝트를 이클립스 프로젝트로 변화해주는 것 뿐만이 아니라 이런 사랑스럽기까지한 일도 해줍니다. 대부분 자바 프로젝트에서 수 많은 라이브러리들을 사용하고 계실 줄로 압니다. 그 중에서 오픈소스도 여럿 되고 그러다 보면 소스 코드도 볼 수 있는데, 이클립스에서 “Alt + 왼쪽 클릭”

Archetype

Maven의 archetype:create DEPRECATED 되다.

이런.. 아랫 글은 쓰자마자 Deprecated 해야겠네요. mvn archetype:create 어쩌구 저쩌구를 실행하고 콘솔에 뜨는 메시지를 잘 보면, generate로 Deprecated 됐다는 메시지를 볼 수 있습니다. 돌리다가 나중에 해봐야지 그러고 그냥 지나쳤다가, 토비 사부님께서 언급하셔서 실행해보고 놀랐습니다. 처음엔 저렇게 중간에 한 번 확인하는 기능이 추가됐구나.. 어째 좀 귀찮을 수도 있겠는데.. 하고 넘어가려다

maven

Maven으로 Spring DM Project 만들기(Eclipse에서 import 가능)

참조http://www.springframework.org/node/361http://www.springframework.org/node/360http://opensource.atlassian.com/confluence/spring/display/DOC/HowTo+build+Spring-Osgi+using+Maven+2http://static.springframework.org/osgi/docs/1.1.0-m2/reference/html/appendix-archetype.html 기본 명령어는 다음과 같습니다. mvn archetype:create -DarchetypeGroupId=org.springframework.osgi -DarchetypeArtifactId=spring-osgi-bundle-archetype -DarchetypeVersion=

Eclipse

Q4E 플러그인 사용기 1

맥용 이클립스 STS(Spring Tool Suite)에서 Q4E를 설치하고 add Maven dependency management를 해도 메이븐 라이브러리가 클래스패스에 생기지 않는 문제가 발생했습니다. 그럴 때는 프로젝트 루트 폴더에 있는 .classpath 파일에 다음의 한 줄을 추가해 주면 문제가 해결됩니다. .으로 시작하는 파일들을 보려면, Navigator 뷰에서 프로젝트를 보거나, Package Explorer의 필터에서 .* resources에 있는 체크를