Apache Maven

Apache Maven
Nhà phát triểnApache Software Foundation
Phiên bản ổn định
3.0[1] / 8 tháng 10 năm 2010 (2010-10-08)
Kho mã nguồn
Viết bằngJava
Hệ điều hànhCross-platform
Thể loạiBuild Tool
Giấy phépApache License 2.0
Websitehttp://maven.apache.org

Maven là công cụ quản lý và thiết lập tự động 1 dự án phần mềm. Chủ yếu dùng cho các lập trình viên java, nhưng nó cũng có thể được dùng để xây dựng và quản lý các dự án dùng C#, Ruby, Scala hay ngôn ngữ khác. Maven phục vụ mục đích tương tự như Apache Ant, nhưng nó dựa trên khái niệm khác và cách hoạt động khác. Maven được quản lý bởi Apache Software Foundation, nó là một phần của dự án Jakarta Project.

Maven dùng khái niệm Project Object Model (POM) để mô tả việc build project, các thành phần phụ thuộc và các module. Nó định nghĩa trước các target cho việc khai báo task, trình biên dịch, đóng gói và thứ tự hoạt động để mọi việc diễn ra tốt nhất.

Maven tải các thư viện, plug-in từ 1 hoặc nhiều repositories. Maven cung cấp việc hỗ trợ tải file từ repository trung tâm của Maven 2 [2] và các repositories khác. Cũng có thể upload các sản phẩm lên repository sau khi đã build xong.

Maven được xây dựng dựa trên kiến trúc plugin - cho phép sử dụng bất kỳ ứng dụng điều khiển nào thông qua đầu vào tiêu chuẩn. Về mặt lý thuyết, điều này cho phép bất kỳ ai cũng có thể viết các plugin để giao tiếp với các build tool (trình biên dịch, unit test tool, etc) cho bất kỳ ngôn ngữ nào khác. Nhưng trong thực tế, hỗ trợ và sử dụng cho các ngôn ngữ khác đã bị thu hẹp. Hiện tại thì plugin cho.Net đã có và vẫn được duy trì [3], và một plugin cho C/C++ cũng được duy trì cho Maven 1.[4]

Một project Maven được cấu hình sử dụng Project Object Model, nó được lưu trong file pom.xml. Một ví dụ nhỏ:

<project>
  <!-- model version is always 4.0.0 for Maven 2.x POMs -->
  <modelVersion>4.0.0</modelVersion>
  
  <!-- project coordinates, i.e. a group of values which
       uniquely identify this project -->
  
  <groupId>com.mycompany.app</groupId>
  <artifactId>my-app</artifactId>
  <version>1.0</version>

  <!-- library dependencies -->
  
  <dependencies>
    <dependency>
    
      <!-- coordinates of the required library -->
      
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      
      <!-- this dependency is only used for running and compiling tests -->
      
      <scope>test</scope>
      
    </dependency>
  </dependencies>
</project>

Tham khảo

[sửa | sửa mã nguồn]
  1. ^ Maven 3.0 Has Landed
  2. ^ "Maven 2 Central Repository". Bản gốc lưu trữ ngày 17 tháng 9 năm 2018. Truy cập ngày 9 tháng 11 năm 2010.
  3. ^ Maven Plugin[liên kết hỏng]
  4. ^ Maven Native Plug-in
Available for free as PDF download or online reading: http://www.sonatype.com/documentation/books Lưu trữ ngày 22 tháng 8 năm 2010 tại Wayback Machine

Liên kết ngoài

[sửa | sửa mã nguồn]


Chúng tôi bán
Bài viết liên quan
Câu truyện đằng sau đôi tất ướt và điệu nhảy của Ayaka
Câu truyện đằng sau đôi tất ướt và điệu nhảy của Ayaka
Story Quest của Ayaka có một khởi đầu rất chậm, đa số là những cuộc hội thoại giữa Ayaka và các NPC trong thành Inazuma
Nhân vật Seira J. Loyard trong Noblesse
Nhân vật Seira J. Loyard trong Noblesse
Seira J. Loyard (Kor. 세이라 J 로이아드) là một Quý tộc và là một trong tám Tộc Trưởng của Lukedonia. Cô là một trong những quý tộc của gia đình Frankenstein và là học sinh của trường trung học Ye Ran. Cô ấy cũng là thành viên của RK-5, người cuối cùng tham gia.
Nhân vật Tsugikuni Yoriichi -  Kimetsu no Yaiba
Nhân vật Tsugikuni Yoriichi - Kimetsu no Yaiba
Tsugikuni Yoriichi「継国緑壱 Tsugikuni Yoriichi」là một kiếm sĩ diệt quỷ huyền thoại thời Chiến quốc. Ông cũng là em trai song sinh của Thượng Huyền Nhất Kokushibou.
Giới thiệu Chloe Aubert: True Hero - Tensei Slime
Giới thiệu Chloe Aubert: True Hero - Tensei Slime
Chloe Aubert là một trong những đứa trẻ của Dị giới mà chúng ta gặp từ đầu trong anime nhưng sự thật đằng sau nhân vật của cô ấy là gì