Bộ sưu tập

Thao tác với Maven project bằng Eclipse


https://codersontrang.com/2014/09/11/thao-tac-voi-maven-project-bang-eclipse/

Như đã nêu trong bài viết trước, Maven là một công cụ hữu ích trong việc build và quản lý các phụ thuộc (dependencies) cho một project. Bài viết này sẽ hướng dẫn cách thao tác với các Maven project trên một trong những IDE phổ biến nhất là Eclipse.

I. Cài đặt Maven plugin và cấu hình Maven cho Eclipse

Eclipse phiên bản mới nhất tính đến thời điểm của bài viết này là Eclipse Luna (4.4), Maven plugin giúp cho việc thao tác với các Maven project trên Eclipse. Mở Eclipse IDE, vào mục Help chọn Eclipse Marketplace. Trong cửa sổ hiện ra gõ từ khóa maven, một loạt các plug in sẽ hiện ra, chọn plugin có icon như dưới đây và bấm Install

codersontrang_maven_eclipse_1

Sau khi cài đặt xong và restart lại Eclipse, vào trong mục Window, chọn Preferences, trong cửa sổ mở lên sẽ có mục Maven, trong mục này có phần User Settings, ta sẽ cấu hình trỏ đển file settings.xml nơi lưu các thông tin cấu hình cho Maven trong workspace hiện tại (việc cấu hình này không bắt buộc bởi bản thân plugin đã được cấu hình để trỏ tới một file cấu hình mặc định ở {user.home}/.m2/settings.xml)

codersontrang_maven_eclipse_2

II. Tạo một Maven project

1. Tạo mới một Maven project trên Eclipse
Trong Eclipse IDE, từ mục File chọn New chọn Project, một cửa sổ sẽ được hiện lên, search với từ khóa Maven và chọn Maven Project

codersontrang_maven_eclipse_3

Click Next, sau đó chọn archetype cho Maven project, ở đây ta muốn phát triển một ứng dụng web vì vậy ta có thể chọn archetype là maven-archetype-webapp.

codersontrang_maven_eclipse_4

Click Next, điền các thông tin cho một Maven project như Group Id, ArtifactId, VersionPackage sau đó bấm Finish

codersontrang_maven_eclipse_5

Maven web project được tạo ra với cấu trúc như dưới đây

codersontrang_maven_eclipse_6

2. Import một Maven project vào workspace trên Eclipse
Trong trường hợp chúng ta đã có sẵn một Maven project, ta có thể thêm project này vào workspace của Eclipse bằng cách từ mục File chọn Import rồi trong cửa sổ popup chọn Existing Maven Projects

codersontrang_maven_eclipse_7

Ấn Next, trong mục Root Directory trỏ đến thư mục Maven Project và bấm Finish

3. Thiết lập file pom.xml để quản lý dependencies
Tiếp đến ta thêm các thông tin về project vào trong file pom.xml ví dụ như các dependencies mà project phụ thuộc vào. Mặc định Eclipse sinh ra dependency là junit trong unit test, giả sử trong dự án của chúng ta có sử dụng đến Java Bean Validation để đảm bảo tính hợp lệ của dữ liệu, ta thêm các dependency vào trong mục <dependecies> trong file pom.xml như sau

  <dependencies>  
            <dependency>  
              <groupId>org.hibernate</groupId>  
              <artifactId>hibernate-validator</artifactId>  
              <version>5.1.2.Final</version>  
        </dependency>  
        <dependency>  
          <groupId>javax.el</groupId>  
          <artifactId>javax.el-api</artifactId>  
          <version>2.2.4</version>  
        </dependency>  
        <dependency>  
          <groupId>org.glassfish.web</groupId>  
          <artifactId>javax.el</artifactId>  
          <version>2.2.4</version>  
        </dependency>  
        <dependency>  
          <groupId>org.hibernate</groupId>  
              <artifactId>hibernate-validator-cdi</artifactId>  
              <version>5.1.2.Final</version>  
        </dependency>  
        ...  
  </dependencies>  

Sau khi lưu file pom.xml đã sửa ở trên lại, Eclipse sẽ dựa trên nội dung file pom và tự động cập nhật các dependencies tương ứng như hình dưới đây

codersontrang_maven_eclipse_8

Ta có thể thấy các dependencies sẽ giống như các dependencies trong ví dụ của bài viết “Giới thiệu về Java Bean Validation“.

III. Đóng gói Maven project từ Eclipse

Từ cửa sổ Project Explorer của Eclipse, nhấp chuột phải vào Project chọn Run As chọn tiếp Maven build như hình dưới đây

codersontrang_maven_eclipse_10

Sau đó một cửa sổ sẽ hiện ra, bởi vì ta muốn đóng gói ứng dụng nên ta điền vào mục goalpackage

codersontrang_maven_eclipse_9

Sau khi bấm Run, quá trình biên dịch và đóng gói ứng dụng sẽ được cập nhật trạng thái ở cửa sổ Console của Eclipse như hình dưới đây

codersontrang_maven_eclipse_11

Sau khi đóng gói thành công, ta vào refresh lại thư mục cửa project, ta sẽ thấy ứng dụng được đóng gói lại thành file .war trong thư mục /target như hình dưới đây

codersontrang_maven_eclipse_12

Chúng ta có thể thấy trong ví dụ này là một ứng dụng web, và cấu trúc của nó khi bung ra từ file .war sẽ giống như cấu trúc của các ứng dụng web thông thường khác.

IV. Cài đặt Maven component lên repository

Một trong những tính năng quan trọng của Maven là quản lý dependency nhờ vào việc duy trì một repository để lưu các thành phần theo từng version. Sau khi hoàn thành dự án hoặc đã xong một version của dự án, ta sẽ đóng gói và lưu dự án vào repository cùng với version để quản lý. Điều này cũng đặc biệt có ý nghĩa nếu thành phần đang được cài đặt lên repository là một thành phần dùng có thể sử dụng lại cho các dự án khác.

Để cài đặt Maven project lên repository từ Eclipse ta nhấp chuột phải vào project hiện tại, chọn Run As chọn Maven Install

codersontrang_maven_eclipse_13

Sau khi có thông báo thành công từ cửa sổ Console, ta có thể kiểm tra lại repository và thấy thành phần đã được cài đặt vào đó như hình dưới đây:

codersontrang_maven_eclipse_14

Cấu trúc thư mục trong repository phù hợp với những gì ta đã khai báo ở file pom.xml

 <groupId>com.codersontrang.maven.demo</groupId>  
 <artifactId>maven-project-demo</artifactId>  
 <packaging>war</packaging>  
 <version>0.0.1-SNAPSHOT</version>  

Để rõ hơn về cách tổ chức các thư mục cho các thành phần trong Maven repository, bạn đọc có thể tham khảo ở bài viết “Giới thiệu về Apache Maven” – phần “IV. Cấu trúc của repository trong Maven“.

Eclipse và Maven giúp cho quá trình phát triển phần mềm trở nên dễ dàng và nhanh chóng hơn, góp phần tăng năng suất lao động. Tuy nhiên nên nhớ rằng tất cả những gì mà chúng ta đã thấy ở bài viết này hoàn toàn có thể thực hiện được chỉ bằng cửa sổ command line.

Good luck!

Advertisements

6 comments on “Thao tác với Maven project bằng Eclipse

  1. Pingback: Tinh gọn Java code với Lombok | Coder Sơn Trang

  2. Pingback: Một cách nhìn khác về ứng dụng web với Spring MVC, Spring Boot, Tomcat dạng nhúng và Thymeleaf | Coder Sơn Trang

  3. Pingback: Đóng gói ứng dụng Java với Maven plugin | Coder Sơn Trang

Trả lời

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Đăng xuất /  Thay đổi )

Google photo

Bạn đang bình luận bằng tài khoản Google Đăng xuất /  Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Đăng xuất /  Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Đăng xuất /  Thay đổi )

Connecting to %s