Những gì nó làm
Maven là một "công cụ quản lý xây dựng", nó dùng để xác định cách các .java
tệp của bạn được biên dịch .class
, đóng gói thành .jar
( .war
hoặc .ear
) tệp, (trước / bài) được xử lý bằng các công cụ, quản lý CLASSPATH
và tất cả các loại nhiệm vụ khác được yêu cầu xây dựng dự án của bạn. Nó tương tự như Apache Ant hoặc Gradle hoặc Makefiles trong C / C ++, nhưng nó cố gắng hoàn toàn khép kín trong đó mà bạn không cần bất kỳ công cụ hoặc tập lệnh bổ sung nào bằng cách kết hợp các tác vụ phổ biến khác như tải xuống và cài đặt các thư viện cần thiết, v.v.
Nó cũng được thiết kế xoay quanh chủ đề "xây dựng tính di động", do đó bạn không gặp vấn đề vì có cùng mã với cùng một bản dựng hoạt động trên một máy tính nhưng không phải trên một máy tính khác (đây là vấn đề đã biết, chúng tôi có VM của Windows 98 máy vì chúng tôi không thể nhận được một số ứng dụng Delphi của chúng tôi biên dịch ở bất kỳ nơi nào khác). Do đó, đây cũng là cách tốt nhất để thực hiện dự án giữa những người sử dụng các IDE khác nhau vì các tập lệnh Ant do IDE tạo ra rất khó nhập vào các IDE khác, nhưng tất cả các IDE hiện nay đều hiểu và hỗ trợ Maven ( IntelliJ , Eclipse và NetBeans ). Ngay cả khi bạn không thích Maven, cuối cùng nó cũng là điểm tham chiếu cho tất cả các công cụ xây dựng hiện đại khác.
Tại sao bạn nên sử dụng nó
Có ba điều về Maven rất hay.
Maven sẽ (sau khi bạn khai báo những thư mục nào bạn đang sử dụng) tải xuống tất cả các thư viện bạn sử dụng và các thư viện mà họ sử dụng cho bạn một cách tự động. Điều này là rất tốt, và làm cho việc đối phó với rất nhiều thư viện dễ dàng một cách lố bịch. Điều này cho phép bạn tránh "địa ngục phụ thuộc" . Nó tương tự như Ivy Ant của Ivy .
Nó sử dụng " Quy ước về cấu hình " để theo mặc định, bạn không cần xác định các tác vụ bạn muốn làm. Bạn không cần phải viết một bước "biên dịch", "kiểm tra", "gói" hoặc "sạch" như bạn sẽ phải làm trong Ant hoặc Makefile. Chỉ cần đặt các tập tin vào những nơi mà Maven mong đợi chúng và nó sẽ hoạt động được với con dơi.
Maven cũng có rất nhiều trình cắm đẹp mà bạn có thể cài đặt sẽ xử lý nhiều tác vụ thông thường từ việc tạo các lớp Java từ lược đồ XSD bằng JAXB để đo mức độ bao phủ thử nghiệm với Cobertura . Chỉ cần thêm chúng vào của bạn pom.xml
và họ sẽ tích hợp với mọi thứ khác bạn muốn làm.
Đường cong học tập ban đầu rất dốc, nhưng (gần như) mọi nhà phát triển Java chuyên nghiệp đều sử dụng Maven hoặc mong muốn họ đã làm. Bạn nên sử dụng Maven cho mọi dự án mặc dù đừng ngạc nhiên nếu bạn phải mất một thời gian để làm quen với nó và đôi khi bạn ước mình có thể làm mọi thứ bằng tay, vì học được điều gì đó đôi khi rất đau. Tuy nhiên, một khi bạn thực sự quen với Maven, bạn sẽ thấy rằng việc quản lý bản dựng hầu như không mất thời gian.
Làm thế nào để bắt đầu
Nơi tốt nhất để bắt đầu là " Maven trong 5 phút ". Nó sẽ giúp bạn bắt đầu với một dự án sẵn sàng để bạn mã hóa với tất cả các tệp và thư mục cần thiết được thiết lập (vâng, tôi khuyên bạn nên sử dụng kiểu mẫu khởi động nhanh, ít nhất là lúc đầu).
Sau khi bạn bắt đầu, bạn sẽ muốn hiểu rõ hơn về cách sử dụng công cụ này. Vì " Xây dựng tốt hơn với Maven " là nơi thấu đáo nhất để hiểu được cách thức hoạt động của nó, tuy nhiên, " Maven: The Reference Reference " được cập nhật hơn. Đọc cái đầu tiên để hiểu, nhưng sau đó sử dụng cái thứ hai để tham khảo.