06/15
2012
메이븐 pom.xml 사이즈 줄이기
요즘 프로젝트를 생성하면 maven을 꼭 사용한다.
사실 메이븐 도입한지 얼마 안되긴 했는데. 모든 도구가 그렇듯이 한번 빠지고 나니 해어나올 방법이 없다 ㅎㅎ
다 삶을 편하게 살아보자고 하는것이니까 ㅎ
뭐 아무튼 좋다.
처음사용할때는 잘 모르고 썼다.
아 물론 아직도 잘 모른다.
아직은 수 많은 기능중에 단지 라이브러리 다운 용도로 사용 중이니까.
일단은 요거라도 잘 사용하자고...
본론으로 들어가서....
오늘 pom.xml을 보다가 보니.
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>4.1.2.Final</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<version>4.1.2</version>
</dependency>
이 부분을 발견했다.
음 뭐 사실 전혀 문제 없지만.
요걸 잘 보자.
hibernate-entitymanager 에 hibernate-core가 포함되어 있다.
음 그말은...
hibernate-entitymanager만 써도 된다는 말.
결국
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<version>4.1.2</version>
</dependency>
이렇게만 써도 된다.
아주 좋다.
pom.xml 코드가 난잡해 질 필요가 없다.
사실... 이클립스가 없다면. 좀 보기 어렵겠지만 말이다.
그래서 지금 밀키를 보면~
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>3.1.1.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
<version>3.1.1.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-orm</artifactId>
<version>3.1.1.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>3.1.1.RELEASE</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.6.4</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.10</version>
</dependency>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.1</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.20</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<version>4.1.2</version>
</dependency>
<dependency>
<groupId>javax.transaction</groupId>
<artifactId>jta</artifactId>
<version>1.1</version>
</dependency>
</dependencies>
단지 요만큼의 코드를 가지고
이렇게 많은 라이브러리를 의존성에 맞추어서 로드해준다.
크 좋다 ㅋ
실질적으로 사용되는 라이브러리들.
아 메이븐 좋다 ㅎㅎㅎ