Apache Maven
|
|
Bài hoặc đoạn này cần được wiki hóa theo các quy cách định dạng và văn phong Wikipedia. Xin hãy giúp phát triển bài này bằng cách liên kết trong đến các mục từ thích hợp khác. |
| Apache Maven | |
|---|---|
| Phát triển bởi | Apache Software Foundation |
| Bản mới nhất | 3.0[1] #đổi Bản mẫu:Ngày bắt đầu và tuổi |
| Được viết bằng | Java |
| Hệ điều hành | Cross-platform |
| Tình trạng phát triển | Active |
| Thể loại | Build Tool |
| Giấy phép | Apache License 2.0 |
| Website | http://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ừ 2 repositories là [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 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ục lục |
Ví dụ[sửa]
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ách[sửa]
- Van Zyl, Jason (1 tháng 10 năm 2008), Maven: Definitive Guide , O'Reilly Media, tr. 468, ISBN 0596517335
- Available for free as PDF download or online reading: http://www.sonatype.com/documentation/books
Xem thêm[sửa]
- Apache Continuum, a continuous integration server which integrates tightly with Maven
- Apache Ant
- Apache Jelly, a tool for turning XML into executable code
- Apache Ivy, alternative dependency management tool for Java
- Sonatype Nexus, a repository manager commonly used with Maven
- Hudson
- List of build automation software
Liên kết ngoài[sửa]
- Official Maven project website
- The Maven 2 tutorial: A practical guide for Maven 2 users - tutorial at Codehaus.org
- Maven: The Definitive Guide, a printed and free online reading book.
- Building Web Applications with Maven 2
- The Maven 2 POM demystified - article at JavaWorld
- Verify the dependencies in your POM
- Maven history
- Maven for PHP