Recent Posts

Tổng quan về Maven

-

Maven là gì?

maven la gi
maven 5

Maven là một từ trong tiếng Yiddish, nghĩa là bộ đệm kiến thức. Nó là một phần mềm Ban đầu nó được phát triển để đơn giản hóa các quá trình xử lý trong dự án Jakarta Turbine. Một số dự án phát triển ở một vài nơi khác nhau nên hệ thống file có sự khác nhau.

Điều này làm cho các nhà phát triển rất là khó khăn. Vì vậy, Maven đã được phát triển như là một cái chuẩn để xây dựng các dự án, hệ thống sẽ phát triển cùng một chuẩn sẽ dễ dàng thay đổi cũng như chia sẻ một cách đồng bộ.

Bây giờ Maven được sử dụng để xây dựng và quản lý bất kỳ dự án Java-base nào. Nhà phát triển Maven hy vọng rằng nó sẽ giúp các Java developer dễ dàng hơn trong việc xây dựng cũng như quản lý các dự án Java.

Apache Maven là chương trình quản lý dự án được sử dụng nhiều bởi Java developer, nó thực hiện các công việc như khởi tạo project, biên dịch, đóng gói, chạy test… một cách tự động và nhanh chóng. Nó đặc biệt hữu dụng với các dự án tầm trung và lớn.
  • Nó thường được so sánh với Apache Ant, nhưng nó hoạt động khác hẳn với Apcache Ant.
  • Mỗi dự án sẽ được mô tả trong một file có định dạng XML có tên "pom.xml". File này sẽ chứa một số thông tin như tên dự án, các thư mục tài nguyên liên quan, các libraries sử dụng… Khi bắt đầu biên dịch, trình Maven sẽ đọc file này và tự động tải các libraries cần thiết từ repositories của nó thông qua mạng hoặc nơi người dùng đã định nghĩa.

lợi ích của Maven

  • Tự động hóa toàn bộ quá trình release project: khởi tạo, cập nhật thư viện, build & test, release và tạo tài liệu mô tả.
  • Hãy thử tưởng tượng về 1 dự án lớn, trong đó các hàng chục các module làm các côngviệc khác nhau. Mỗi team phụ trách một module và quá trình phát triển các module: từ phân tích yêu cầu, đặc tả, đến phát triển, kiểm thử và release là đồng thời và độc lập. Nhưng các module này phụ thuộc vào nhau, cần thiết cho nhau để phát triển.
Tự động hóa toàn bộ qui trình release là yêu cầu hàng đầu

Chỉ cần 1 sự chậm trễ, sai lầm ở một công đoạn có thể làm đổ vỡ cả quá trình release của project. Cho nên việc tự động hóa toàn bộ là ưu tiên hàng đầu, nhờ đó là việc lên kế hoạch hiệu quả và chính xác hơn, việc tích hợp và triển khai cũng đơn giản hơn rất nhiều.
Tự động hóa quá trình test với các plugin: Toàn bộ quá trình test được tự động, từ đó các lỗi được phát hiện sớm hơn. Thậm chí lỗi có thể phát hiện ở giai đoạn phát triển, do các developer đều có thể chạy các test case một cách dễ dàng bằng Maven.

  • JUnit, TestNG – Unit test
  • Selenium, Canoo – Web GUI test
  • SoapUI – Web services tests
  • JMeter – Performances tests
Quản lý các dependencies(các thư viện) trong project một các ưu việt: tự động cập nhật, mở rộng dễ dàng, đóng gói(có thể hiểu là phụ thuộc các thư viện bắc cầu)

Phân chia 1 project lớn thành các module nhỏ: từ đó cho phép làm việc đồng thời trên các module khác nhau, đồng thời vẫn tạo được tính thống nhất

Không phụ thuộc vào IDE: cho phép chuyển đổi tử Eclipse sang NetBeans,.. một cách dễ dàng
Hệ thống plugin phóng phú trong đó có cả Ant





Klik untuk melihat kode: :) =( :s :D :-D ^:D ^o^ 7:( :Q :p T_T @@, :-a :W *fck* x@