나름대로의 삽질을 통해 모듈별 라이브러리 정리를 하고 있다. 물론 샘플이지만 큰 그림으로 나눠서 공통으로 쓰이는 모듈..
DB는 mybatis, 또는 하이버네이트별로 모듈을 구분했고.. web쪽은 String, Struts2로 구분했다.
다 돌려보기엔 시간이 부족했고.. 하루종일 이짓만 하고 있을순 없었기에 예전에 날 괴롭혔던 하이버네이트를 먼저 돌려봤다. 역시 한번에 돌아갈리 없었고.. 라이브러리 추가 작업이 필요했다.


처음 프로젝트 관리를 이렇게 하려고 했다.
DB > Logic > Web Controller.. 이렇게 나누려고 했다.

큰 프로젝트 경험이 없어서 그런지.. 굳이 DB와 Logic을 구분해야 할지 의문이였다.

단순하게 큰 프로젝트에서는 당연히 나뉘지요. 라는 대답은 해보지 않아도 그냥 공감은 될것같은데..
저... DB단은 넘어온걸 그냥 넣기만 하는 단순 작업일텐데 1인이 DB/Logic개발을 맡아서 한다면 하나의 모듈로 개발해도 될지가 궁금했다.

......갑자기 또 떠오른게 있다. 직접 쿼리를 다루게 된다면 말이 틀려질수도 있겠구나 싶네...-_-;; 단순작업이 아닐테지..

아무튼 요즘 자꾸 내 직업에 대해 지속적인 관심을 갖고 언젠가 크게 발전하기 위해 이것 저것 해본다.
가만히 있는것 보다.. 노는것 보단 나을테니까.. 
결론은!! 지금까지 나만의 아키타입..
....이라는걸 고집해서 메이븐 공부를 시작했었는데, 아키타입이 중요한게 아니라, 제대로된 프로젝트 관리를 하기 위한 pom 설계를 잘해야한다는 생각이 들었다. (뻘짓하지말자-_-)

흠... 무언가 아직 불안정하다. 뭔가 쓸모있는 샘플 아키타입을 만들생각이였는데..
패키지명이 완벽하지가 않다.

예를들어서 아키타입내에서 소스 패키지가 net.ion.minato이다.
근데 이 아키타입 샘플소스를 생성할때 실제 사용하는 사람은 패키지명이 저것과 같지 않을 것이다.

${package}.util 이런식의 설정으로 패키지가 자동 생성될줄 알았으나 해보니 그렇지가 않았다.

 
소스내에서 package명은 프로젝트 생성시 설정한 패키지명이다.
그러나 실제 소스 디렉토리 구조는 package를 제외한 채로 생성되었다.

결국 샘플소스는 샘플일뿐인듯 싶다. 이로써 쓸만한 아키타입은 물건너갔다. -_-

하지만 지금까지 해봄으로 인해 메이븐이 이런것이구나 하는 느낌은 받았다.

현재는 박재성님이 쓰신 자바 세상의 빌드를 이끄는 메이븐 이란 책을 보면서 pom파일을 이용한 모듈 관리를 해보고 있다.
정말 제대로 이해하고 사용한다면 메이븐 빌드툴은 최고가 아닐까 싶다.

 
대략 50%이상은 이해하고 모듈별 pom을 만들어서 로컬에서 사용해보고 있다.
애초에 샘플 아키타입을 만드는것보다 훨씬 더 유용하게 쓰일것 같다는 생각이 든다.

그러나 생성이 안된다... 에러메세지는 보이나 해결법은 모르겠다는... ^^ 내 인생은 언제나 삽질인생인가보다..;

메이븐 프로젝트를 생성해서 parent로 groupId와 artifactId, version을 선언해주니까 잘 상속받는다...;;

 보면 알겠지만 아무것도 선언한게 없음에도 라이브러리와 프로젝트 기본구조를 살릴수 있었다.


 아직 회사에서는 메이븐을 사용하진 않지만 근무시간 외에 자주 접해서 메이븐을 내것으로 만들것이다. -_-;;

예전부터 메이븐 프로젝트를 통해 라이브러리를 추가할때 항상 오라클이 문제였다.
라이센스때문인지 저장소에서 다운받지 못했었다.

그래서 그냥 프로젝트 lib 폴더를 만들어서 빌드패스로 잡아줬었는데 또 문제가 빌드할때 수동으로 넣은 라이브러리는 무시하고 빌드를 하는것이다.


 요즘들어 메이븐 쓰시는분들이 많아서인지 쉽게 찾아볼수 있더라..^^

 
이런식으로 잡아주면 빌드할때 저 경로에 있는 < lib/ojdbc14.jar > 파일을 포함해서 빌드한다.

근데!! 윈도우에서 할땐 저게 됬었다! 집에 작업할수 있는 컴이 맥북밖에 없어서 해보던찰나.....
이상하게 맥에서는 basedir을 찾지 못하는것이다! ;;


이유는 모르겠다. os 자체 환경변수에 메이븐을 추가하지 않아서 그런건지는 모르겠으나...
맥os를 잘 다루는편이 아니라서 환경변수는 잡지 않았다 -_-;;

그래서 맥에서는 일단 꼼수를 부렸다 ㅠ.ㅠ;;

 

빌드 디렉토리는 읽히는것이였다... 그래서 맥에서는 이렇게...ㅜ.ㅜ;; 할수밖에 없었다.


결론은...
윈도우에서 잘 되던게 집(맥북)에서 안돌아간다니 놀래서 봤더니 jdbc드라이버를 못찾는것...
맥북에서는 basedir이 잡히지 않던 문제...
꼼수를 부릴수밖에 없는 저 어이없는 path....;; 맘에들지 않아~ 

+ Recent posts