prev

앞에서 삽질한 프로젝트를 언제든지 불러다가 써먹을수 있게 해보자.


프로젝트에서 run.. maven build... 한다.


maven 명령어다. create-from-project... 일단 결과부터 보자...


일단 성공은 했고.... target폴더안에 어떤 파일들이 생겨났는지 보자..
(사실 실패해서 포기상태였다...-_- 현재 이클립스에서 사용하고 있는 메이븐 버전은 3.0.4버전.. 얘 안된다;;;
그래서 2.2.1버전으로 받아서 메이븐 빌드시 2버전을 사용하도록 했다... 된다..;; 아흑 ㅠㅠ;)

 


아 난처하다... 에러도 나면서 엄청난 구조의 파일들이 생겨났다...(target밑에 에러는 무시한다.)
복잡해도 유심히 살펴보자.
일단 generated-sources부터 시작인데.. 그 밑에 있는 archetype폴더를 지금 빌드해서 나온 결과물이라고 보면된다.

보면 archetype폴더 밑에 src와 target이 있다. 그말은 즉 저 archetype폴더자체가 프로젝트라고 보면 되는거다. archetype바로 밑에 있는 pom 파일에서 오른버튼으로 Maven build - Clean 을 해보자.
archetype 밑에 있는 target폴더가 없어졌을것이다.


깔끔하게 없어졌다... 다시 빌드해본다. 그냥 명령어 따로없이 Maven Build - Install 하면된다.
다시 target 폴더가 생겼을것이다.

 
중요한 결과물이 나왔다. archetype/target/mywebproject-archetype-0.0.1-snapshot이 만들어진것이다.
이것을 나만의 archetype이라고들 부른다..

지금까지 무슨짓을 한것이냐면..

 
메이븐에서 기본으로 제공하는 기본적인 web프로젝트를 생성했다. (maven-archetype-webapp)

근데 만들어보니 프로젝트 구조가 좀 눈에 안들어오고 폴더 뎁스도 쓸데없이 있고..맘에 안들었다.
그래서 수작업으로 메이븐 폴더 구조를 바꾸고 pom파일에 디렉토리 구조를 작성했다.

테스트삼아 HelloWorld.java와 HelloWorldTest.java도 작성해봤다.
그리고 archetype:create-from-project라는 명령어로 현재 보고있는 archetype을 만들었다.

이제 저 archetype을 어떻게 써먹는담??;;

사실 한가지 빼먹은 사실이 있다. Maven Build Install을 하면 무슨작업을 하나? target폴더에 빌드 결과물을 준다?
맞는말이다. 그러나 한가지 더 있다. 이클립스에서 인식하고 있는 로컬 repository에 결과물을 배포한다.

 
repository 밑으로.. 프로젝트 생성할때 줬던 groupId(net.ion.minato)와 artifactId(mywebproject) 구조의 버전 0.0.1-snapshot인 파일이 로컬에 배포된것이다.

아.. 설명이 너무 길어진다. next

+ Recent posts