카테고리 없음

Ant, Maven

졸려질려 2019. 7. 8. 21:35
반응형

Ant ( Apache Ant )

  • ANT : Another Neat Tool ( 또 다른 균형잡힌 도구? )

  • 자바 프로그래밍 언어에서 사용하는 자동화된 소프트웨어 빌드 도구

  • 자바 프로젝트들을 빌드하는데 표준으로 사용된다.

  • 빌드를 위한 환경구성을 XML 파일을 사용한다. ( 기본적인 빌드 파일명 : build.xml )

Maven

  • 공식 문서 : http://maven.apache.org/what-is-maven.html
    공식문서를 번역하여 정리하기로 하였다.

  • Maven : 이디시어(유대어의 일종)에서 비롯된 말로써, 지식 축적기 라는 의미이다.

Maven 의 기능

1. 쉬운 빌드 프로세스 ( Making the build process easy )

  • Maven은 빌드 프로세스의 근본적인 메커니즘을 세세히 알지 않아도 되도록 해준다.

2. 일관된 빌드 시스템을 제공 ( Providing a uniform build system )

  • Maven은 Maven을 사용하는 모든 프로젝트들에서 공유하는 일련의 플러그인들과 POM(Project Object Model)을 사용하여 프로젝트를 빌드 할 수 있해줌으로써 균일한 빌드 시스템을 제공한다.
  • 하나의 Maven 프로젝트가 어떻게 빌드되는지 익숙해지면 모든 Maven 프로젝트의 빌드 방법을 자동으로 알게 된다. 따라서 많은 프로젝트들을 탐색할 때 엄청난 시간을 절약할 수 있다.

3. 우수한 프로젝트 정보 제공 ( Providing quality project information )

  • Maven은 많은 유용한 프로젝트 정보를 제공한다. 프로젝트 정보는 POM 일부분에서 가져오고 프로젝트 소스에서 일부분 생성된다.
  • 예를 들어 Maven이 제공할 수 있는 정보는 다음과 같다.
    1. 소스 컨트롤에서 직접 생성한 변경 로그 문서 ( Change log document created directly from source control )
    2. 상호 참조 소스 ( Cross referenced source )
    3. 프로젝트가 관리하는 메일링 리스트의 목록 ( List of mailing lists managed by the project )
    4. 의존성 목록 ( Dependency list )
    5. 적용 범위를 포함한 단위 테스트 보고서 ( Unit test reports including coverage )
  • Maven이 향상됨에 따라 제공되는 정보들도 향상된다. 그리고 그 정보들은 Maven 유저들에게 투명하게 공개할 것이다.
  • 다른 제품들도 Maven 플러그인을 제공할 수 있음으로써 POM을 기반으로 하는 Maven의 일부 표준 정보들과 해당 제품의 프로젝트 정보 세트를 허용한다.

4. 모범 사례 개발을 위한 가이드라인 제공 ( Providing guidelines for best practices development )

  • Maven은 모범 사례 개발을 위한 최신 원칙들을 모으고 그 방향으로 프로젝트를 쉽게 가이드 하는 것을 목표로 한다.
  • 예를 들어, 유닛 테스트의 사양, 실행 그리고 보고는 Maven을 사용하는 일반적인 빌드 사이클의 일부이다.
  • 현재 유닛 테스트 모범 사례가 지침으로 사용되었다.
    1. 테스트 소스 코드를 병렬 소스 트리가 아닌 각각 분리하여 보관
    2. 테스트를 위치시키고 실행하기 위해 테스트 케이스 명명 규칙을 사용
    3. 테스트 준비를 위해 빌드를 사용자 정의 하는 대신에 테스트 케이스가 환경을 설정함.
  • Maven은 릴리즈와 이슈 관리와 같은 프로젝트 워크플로우를 지원하는 것을 목표로 한다.
  • Maven은 프로젝트의 디렉토리 구조를 어떻게 레이아웃 하는지 몇가지 지침을 알려준다. 지침들을 배우면 Maven과 동일한 기본값을 사용하는 다른 프로젝트를 쉽게 탐색 할 수 있다.

5. 새 기능들로 투명한 마이그레이션 허용 ( Allowing transparent migration to new features )

  • Maven은 Maven 유저들이 설치를 업데이트 하는 쉬운 방법을 제공하여 Maven 자체로 만들어진 모든 변경 사항을 이용 할 수 있도록 한다.
  • 이러한 이유 때문에 제 3자 또는 Maven 자체로부터 새로 만들어지거나 업데이트된 플러그인들을 설치하는 것이 쉽지 않다.
반응형