Tải bản đầy đủ (.docx) (16 trang)

Xây dựng kịch bản biên dịch và đóng gói ứng dụng sử dụng maven ICTU

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (712.72 KB, 16 trang )

Thành viên Tô Thành Đồng nhận công việc gồm:
- Cài đặt Maven
- Nghiên cứu các tính năng của Maven và cách thức xây dựng kịch bản biên
dịch, đóng gói và quản lý cấu hình phần mềm
Thành viên đã tìm hiểu:
-Maven:
Apache Maven là không chỉ dừng lại ở mức độ là một build tool bình thường mà
quan trọng hơn nó là một dependency manager cung cấp cho người lập trình viên
có thể khai báo và quản lý sự phụ thuộc giữa các thành phần trong bản thân các
ứng dụng phần mềm. Bài viết này sẽ giới thiệu về Apache Maven và các đặc điểm
cơ bản đặc trưng của nó.
Chương I Cài đặt Maven
Phương pháp 1: Cài đặt Maven độc lập trên Windows và khai báo để Eclipse có
thể sử dụng nó.
1. Vào trang chủ của Maven và vào mục download, sau đó chọn bản Maven tương
ứng với hệ điều hành (Window, Linux). Bài viết này sẽ hướng dẫn cách cài đặt
Maven trên Window, bạn hãy down file .zip về sau đó giải nén ra như thư mục
dưới đây


2. Đặt biến môi trường M2_HOME trỏ đến thư mục và ta vừa extract ở trên, sau đó
thêm vào biến Path đoạn %M2_HOME%\bin

3. Để biết được đã cài đặt thành công hay chưa, ta vào command line của window
và gõ mvn -version. Nếu đã cài đặt thành công thì sẽ như dưới đây


Phương pháp 2
Apache maven hiện nay đã được tích hợp sẵn vào trong eclipse và netbean
( trừ những bản rất cũ, mình khuyên các bạn không nên dùng những bản cũ này ).
Chương II: Nghiên cứu các tính năng của Maven và cách thức xây dựng


kịch bản biên dịch, đóng gói và quản lý cấu hình phần mềm
1, Cấu trúc project được hỗ trợ bởi Maven
Maven là một buil tool và để đóng gói một ứng dụng thì Maven yêu cầu ứng
dụng phải có cấu trúc mà Maven có thể hiểu được. Bản thân Maven cung cấp nhiều
các kiểu cấu cấu trúc ứng dụng mà ta có thể chọn lựa cho phù hợp với dụ án của
mình. Để tạo ra một ứng dụng có cấu trúc của Maven thì ta có thể làm như sau
1.

Dùng command line gõ mvn archetype:generate một loạt các cấu trúc dự
án mẫu sẽ được hiển thị ra với số tương ứng như sau


2. Sau đó Maven sẽ hỏi về kiểu cấu trúc dự án mà bạn muốn tạo ra, bạn chỉ
cần chọn ở danh sách bên trên và nhập số tương ứng. Trong trường hợp không
nhập gì và thì Maven sẽ tự động tạo ra dự án có cấu trúc theo kiểu mavenarchetype-quickstart

3. Mỗi một kiểu cấu trúc dự án có thể có nhiều version, ở đây ta sẽ chọn tiếp
version 1.1. Mỗi một dự án trong Maven sẽ được nhận diện gồm 3 thành
phần groupId, artifactId và version, ngoài ra còn có thêm thông tin về package.
Điền đủ các thông tin trên và sau đó xác nhận để tạo project


4. Sau khi tạo thành công ta sẽ thấy project được tạo ra trong thư mục như
hình dưới đây:


2, Tìm hiểu file pom.xml
Như ta đã thấy trong hình trên, trong project được sinh ra có một file pom.xml.
POM là viết tắt của “Project Object Model”, đây là nơi chứa các khai báo mô tả về
project mà quan trọng hơn cả là khai báo các thành phần mà project phụ thuộc vào.

Các khai báo được thể hiện dưới dạng các thẻ XML bên trong thẻ . Sau
đâu là một số các thẻ cơ bản mà ta có thể thấy trong bất cứ file pom.xml nào
 <groupId>, <artifactId>, <version>: bộ ba thông tin để nhận diện ra một
thành phần.
: Định dạng khi đóng gói của thành phần, có thể là jar, war, ear

: là nơi khai báo các thuộc tính có thể sử dụng ở các nơi trong
file pom.xml. Ví dụ ta khai báo thuộc
tính UTF8</project.build.sourceEncoding>, thì ở một nào đó trong pom.xml, ta có thể
sử dụng giá trị UTF-8 bằng cách gọi ${project.build.sourceEncoding}
 <dependency>: Bên trong sẽ khai báo thành phần mà project sẽ phụ thuộc
vào. Ví dụ project có sử dụng JUnit để thực hiện unit test, thì việc project
phụ thuộc vào junit sẽ được khai báo như sau
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
3, Cấu trúc của repository trong Maven
Maven quản lý các thành phần và lưu chúng ở trong repository. Khi build
một project, các thành phần mà project phụ thuộc vào sẽ được lấy ra từ local
repository trên máy đang thực hiện quá trình build. Nếu như thành phần (thư viện)
không được tìm thấy trên local repository thì Maven sẽ tự động download thành
phần này từ remote repository về local repository. Vị trí của local repository mặc
định sẽ là ${user.home}/.m2/repository, ta hoàn toàn có thể thay đổi vị trí này bằng
cách cấu hình trong file /conf/settings.xml như sau:


<localRepository>E:/DEVELOPMENT/Env/apache-mavenrepo</localRepository>

Trong quá trình phát triển các ứng dụng, local repository sẽ được làm đầy dần,
dưới đây là hình ảnh của một local repository với cách bố trí các thành phần bên
trong nó.

Như đã nói ở trên, mỗi thành phần sẽ được nhận diện bởi bộ
ba <groupId>, <artifactId>, <version>, và cấu trúc phân tầng của repository cũng
dựa trên thứ tự này. Ví dụ đối với bộ thư viện guava.jar của Google có thông tin
như sau:
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>13.0.1</version>
Với thông tin trên thì bộ thư viện này được bố trí trong repository như sau


Nhìn trên hình trên ta thấy
GroupId sẽ được chuyển thành các thư mục ví
dụ groupId là com.google.guava vậy tính từ thư mục repository, thư mục con
sẽ là com/google/guava
 ArtifactId sẽ tiếp tục được chuyển thành một thư mục con bên trong,
với artifactId là guava vậy đường dẫn sẽ trở thành com/google/guava/guava
 Version sẽ cũng được chuyển thành một thư mục con bên trong nữa,
với version là 13.0.1, đường dẫn đến file thư viện sẽ
là com/google/guava/guava/13.0.1
Bên trong thư mục con nhất này sẽ là file thư viện guava-13.0.1.jar, tên của file thư
viện sẽ là sự ghép lại của artifactId và version.
Ngoài file thư viện ra ta còn có file guava-13.0.1.pom là file POM mô tả cho thư
viện tương ứng bao gồm các thông tin về thư viện này và các thành phần khác mà
thư viện này phụ thuộc vào.



4,Tạo Maven Project
Trên Eclipse chọn "New/Other"





Project đã được tạo ra.


Mở file pom.xml để cấu hình các thư viện sẽ sử dụng:

File pom.xml là nơi khai báo tất cả những gì liên quan đến dự án được cấu
hình qua maven, như khai báo các dependency, version của dự án, tên dự án,
repossitory ....
Trong đó, 0.0.1-SNAPSHOT là version của project.
Bây giờ chúng ta sẽ thử add 1 thư viện vào dự án, vd chúng ta sẽ add thư
viện apache.commons. Thêm thẻ khai báo vào file pom


Hình minh họa ở trên chỉ ra cách hoạt động của Maven.



Bạn khai báo trên pom.xml rằng project của bạn phụ thuộc vào thư
viện common-lang3 phiên bản 3.3.2.



Ngay sau khi bạn SAVE file pom.xml Maven sẽ kiểm tra xem thư viện này

đã có tại kho chứa địa phương (Local Repository) trên máy tính của bạn
chưa. Nếu chưa có nó sẽ download về từ kho chứa (Repository) thư viện từ
trên Internet xuống.



Cuối cùng là Maven sẽ tự động khai báo ClassPath cho Project tới vị trí file
jar được download về.



Như vậy mọi việc bạn chỉ cần khai báo thư viện muốn sử dụng tại pom.xml.
Việc quản lý thư viện đã do Maven lo liệu.


Lưu file pom lại và đợi project build xong, thư viện sẽ được add tự động
vào project : (ở mục Maven Dependencies)

Biên dịch và đóng gói Project của bạn bằng Maven:
Nhấn chuột phải lên Project -> Run As -> Maven install -> chờ Maven biên dịch và
đóng gói xong -> Refresh lại project để xem kết quả:


Kết quả thành công là :



×