그것이하는 일
메이븐은 당신의 방법을 정의입니다,는 "빌드 관리 도구"입니다 .java
파일로 컴파일 얻을 .class
로 포장 .jar
(또는 .war
나 .ear
) 도구를 사용하여 처리 된 파일 (포스트 / 프리), 사용자 관리 CLASSPATH
, 그리고에 필요한 모든 작업을 다른 사람의 종류 프로젝트를 빌드하십시오. Apache Ant , Gradle 또는 Makefile 과 유사합니다.C / C ++의 하지만 필요한 라이브러리 다운로드 및 설치와 같은 다른 일반적인 작업을 통합하여 추가 도구 나 스크립트가 필요하지 않도록 완전히 자체적으로 포함하려고 시도합니다.
또한 "빌드 이식성"테마를 중심으로 설계되었으므로 한 컴퓨터에서는 작동하지만 다른 컴퓨터에서는 작동하지 않는 동일한 빌드 스크립트를 사용하여 동일한 코드를 갖는 문제가 발생하지 않습니다 (이는 알려진 문제입니다. Windows의 VM이 있음) 델파이 응용 프로그램 중 일부를 다른 곳에서 컴파일 할 수 없기 때문에 98 대의 컴퓨터). 이 때문에 IDE 생성 Ant 스크립트는 다른 IDE로 가져 오기가 어렵 기 때문에 다른 IDE를 사용하는 사람들 사이에서 프로젝트를 수행하는 가장 좋은 방법이기도하지만 오늘날 모든 IDE는 Maven ( IntelliJ , Eclipse 및 NetBeans)을 이해하고 지원합니다. ). Maven을 좋아하지 않더라도 다른 모든 최신 빌드 도구의 참조 지점이됩니다.
왜 사용해야합니까
Maven에는 매우 좋은 세 가지가 있습니다 .
Maven은 (당신이 사용하는 어떤 것들을 당신이 선언 후) 모두 사용하는 라이브러리를 다운로드합니다 및 그 라이브러리 가 자동으로 사용합니다. 이것은 매우 훌륭하며 많은 라이브러리를 엄청나게 쉽게 처리합니다. 이를 통해 "종속성 지옥" 을 피할 수 있습니다 . Apache Ant의 Ivy 와 유사합니다 .
" 컨벤션에 대한 컨벤션 "을 사용하므로 기본적으로 원하는 작업을 정의 할 필요가 없습니다. Ant 또는 Makefile에서해야하는 것처럼 "컴파일", "테스트", "패키지"또는 "정리"단계를 작성할 필요가 없습니다. Maven이 기대하는 곳에 파일을 넣으면 박쥐에서 벗어날 수 있습니다.
Maven에는 JAXB 를 사용하여 XSD 스키마에서 Java 클래스 생성에서 Cobertura로 테스트 범위 측정에 이르기 까지 많은 일상적인 작업을 처리 할 수있는 멋진 플러그인이 많이 있습니다 . 당신에게 그것들을 추가하면 pom.xml
그들은 당신이하고 싶은 다른 모든 것과 통합됩니다.
초기 학습 곡선은 가파르지만 (거의) 모든 전문 Java 개발자는 Maven을 사용하거나 원합니다. 모든 프로젝트에 Maven을 사용해야하지만, 익숙해지기까지 시간이 걸리고 때로는 새로운 것을 배우는 것이 때때로 아프기 때문에 수동으로 일을 할 수 있기를 바랍니다. 그러나 Maven에 익숙해지면 빌드 관리에 거의 시간이 걸리지 않습니다.
시작하는 방법
시작하기 가장 좋은 곳은 " 5 분 안에 Maven "입니다. 필요한 모든 파일과 폴더 설정으로 코드를 작성할 준비가 된 프로젝트로 시작할 수 있습니다 (예, 적어도 빠른 시작 아키타 입을 사용하는 것이 좋습니다).
시작한 후에는 도구의 사용법을보다 잘 이해하고 싶을 것입니다. " Maven : Better Builds with Maven "은 그 작동 방식을 이해하기위한 가장 철저한 장소이지만 " Maven : The Complete Reference "는 최신 버전입니다. 이해하기 위해 첫 번째를 읽은 다음 참조를 위해 두 번째를 사용하십시오.