| Welcome to Huynh's Collections. We hope you enjoy your visit. You're currently viewing our forum as a guest. This means you are limited to certain areas of the board and there are some features you can't use. If you join our community, you'll be able to access member-only sections, and use many member-only features such as customizing your profile, sending personal messages, and voting in polls. Registration is simple, fast, and completely free. Join our community! If you're already a member please log in to your account to access all of our features: |
| Khám phá thế giới mă nguồn mở với Apache Maven | |
|---|---|
| Tweet Topic Started: Apr 1 2013, 06:13 PM (260 Views) | |
| Huynhnb8x | Apr 1 2013, 06:13 PM Post #1 |
|
Th1nk
![]() ![]() ![]() ![]() ![]()
|
Trong những năm gần đây, phần mềm mă nguồn mở đang có những bước phát triển nhanh chóng và đạt được những thành tựu to lớn góp phần quan trọng vào bước phát triển chung của nghành công nghệ thông tin. Đó thực sự là mảnh đất nhiều tiềm năng, sức hút và đầy hứa hẹn cho mọi đối tượng bao gồm từ các cá nhân, doanh nghiệp đến các tổ chức, chính phủ. Trên thực tế, mỗi nền tảng mở là 1 thế giới rộng lớn, mới mẻ là và tiềm ẩn nhiều điều thú vị để khám phá. Nhưng việc t́m hiểu và nghiên cứu chúng rồi sau đó tích hợp vào sản phẩm hiện tại là một vấn đề tương đối khó khăn với đa số các developer. Các công cụ như Google, các diễn đàn, các blog công nghệ thường không mang lại hiệu quả như mong muốn. Có thể bằng cách nào đó bạn t́m được thư viện mong muốn, nhưng không thể đảm bảo đó là 1 phiên bản ổn định không có lỗi. Hơn nữa các phiên bản được phát triển và release liên tục cho nên công việc quản lư, nâng cấp và bào tŕ chúng có thể làm nản ḷng bất cứ 1 developer nào. Điều đó đặc biệt đúng với với các nền tảng, kiến trúc lớn như (Jboss, Spring, eXo Platform, Apache…) phần mềm nguồn mở nguồn mở maven lập tŕnh Apache Maven: Khám phá thế giới mă nguồn mở Apache Maven apache Tích hợp các nền tảng mở vào project không phải là chuyện đơn giản… Cho dù đến nay, các IDE tiên tiến(Eclipse, NetBeans, Intellidea, …) đă tích hợp sẵn các plugin hỗ trợ khởi tạo các project từ đa số các framework phổ biến(Servlet, Struts, Hibernate), nhưng việc tích hợp các thư viện mới cũng như quản lư và nâng cấp các thư viện có sẵn là tương đối phức tạp. Hăy thử tưởng tượng về một 1 project sử dụng GWT, Hibernate và Apache Lucence? Tuy nhiên, những trở ngại nói trên hoàn toàn có thể giải quyết được nhờ vào Apache Maven. Vậy cụ thể nó là ǵ, tại sao nó lại có khả năng to lớn như vậy? Khái niệm Maven là một công cụ để quản lư project và việc build một cách tự động. Nó phục vụ chính cho các project viết bằng Java nhưng cũng có thể hỗ trợ cho các project khác viết bằng C#, Ruby, Scala. 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, tŕ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. Cũng có thể upload các sản phẩm lên repository sau khi đă build xong. Lợi ích của Maven Tự động hóa toàn bộ quá tŕ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á tŕ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 tŕ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á tŕ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á tŕnh test với các plugin: Toàn bộ quá tŕ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 Thực tế ứng dụng Hiện nay, đă có rất nhiều các công ty chuyển sang dùng Maven do ư thức được sức mạnh của nó như một sự thay thế và bổ sung hoàn hảo cho Ant. Tuy nhiên Việt Nam, mới chỉ có một số công ty phần mềm nước ngoài tận dụng được lợi ích của nó: eXo platform SEA, KMS, Citigo…. So sánh với Apache Ant? Ant là 1 công cụ rất mạnh và phổ biến với Java developer. Khác với Maven là 1 project management tool, Ant đơn thuần chỉ là 1 build tool. Chính nhờ vào ưu điểm đơn giản, dễ sử dụng mà đa số các developer đều sử dụng nó. Hơn nữa, trong khi Ant thích hợp cho mọi loại project, thi Maven lại chứng tỏ sức mạnh rơ rệt ở các project lớn và rất lớn nhằm giúp cho việc quản lư dễ dàng và thống nhất hơn. Ngoài ra Ant đến với developer trước(2000) so với Maven(2006) và tới nay nó vẫn c̣n rất hữu dụng. Hướng dẫn cài đặt Maven Tải và cài đặt Java JDK Download và cài đặt Maven: http://maven.apache.org/download.html Unzip vào thư mục bạn muốn cài đặt, ở đây tôi chọn C:\apache-maven-2.2.1 Right-click vào My Computer mở Properties. Mở tab Advanced và click vào nút Environment Variables. Thêm vào biến môi trường PATH ḍng sau: C:\apache-maven-2.2.1\bin Thiết lập biến môi trường sau: M2_HOME là C:\apache-maven-2.2.1 Thiết lập biến môi trường : M2 là C:\apache-maven-2.2.1\bin Mở cmd, kiểm tra JAVA, Maven đă được cài đặt thành công và các biến môi trường đă được thiết lập đúng: Lời kết Hiện tại Apache đă release phiên bản Maven 3.0 với rất nhiều thay đổi quan trọng: Hỗ trợ parralel build với các module và tối ưu hóa hệ thống Cải tiến hiệu năng và khả năng tích hợp với các IDE Tương thích 100% với các version trước đó Bên cạnh đó cộng đồng và số lượng người dùng Maven cũng ngày một lớn mạnh: phần mềm nguồn mở nguồn mở maven lập tŕnh Apache Maven: Khám phá thế giới mă nguồn mở Apache Maven apache Hệ thống bài giảng và tài liệu phong phú: Website http://maven.apache.org Wiki người dùng http://docs.codehaus.org/display/MAVENUSER Với sức mạnh to lớn và sự phát triển nhanh chóng, Maven chắc chắn sẽ giành được vị thể xứng đáng là tương lai của nền tảng build đối với các ứng dụng Java Enterprise trong 1 ngày không xa. Các developer, các bạn đă khởi đầu với Ant như là beginner, vậy hăy đến với Maven như một professional. Ở bài viết sau, tôi sẽ tŕnh bày cụ thể hơn cơ chế hoạt động của Maven thông qua về một ví dụ cụ thể với một nền tảng mở. Mọi ư kiến đóng góp về bài viết xin gửi về Địa chỉ ḥm thư hieulaitrung@gmail.com Lại Trung Hiếu – Kỹ sư phần mềm Công ty eXo Platform SEA Doanh nghiệp cung cấp giải pháp Cổng thông tin điện tử mă nguồn mở trên nền điên toán đám mây |
| Knowledge crawling | |
![]() |
|
| « Previous Topic · Tài liệu sưu tầm · Next Topic » |
| Track Topic · E-mail Topic |
9:00 AM Jul 11
|
Theme by James... of the ZBTZ and themeszetaboards.com





![]](http://z5.ifrm.com/static/1/pip_r.png)



9:00 AM Jul 11