
Từng bước cài đặt Maven
-
Đầu tiên, chúng ta cần cài đặt Maven. Tải xuống từ liên kết này .
-
Tiếp theo, giải nén tệp lưu trữ đã tải xuống và đặt biến môi trường M2_HOME thành vị trí của tệp lưu trữ đã giải nén. Ví dụ: C:\\Program Files\\maven\\
-
Để đảm bảo rằng mọi thứ đã được cài đặt, hãy thực hiện thao tác sau trên dòng lệnh:
phiên bản mvn
-
Nếu thông tin phiên bản cho Maven, Java, v.v. được hiển thị, thì mọi thứ đã sẵn sàng hoạt động.
-
Bây giờ hãy mở IntelliJ IDEA và tạo một dự án mới. Trong cửa sổ đầu tiên, chọn Maven:
-
Nhấp vào "Tiếp theo" và điền vào cửa sổ xuất hiện:
-
Sau đó, như thường lệ, hãy tạo một dự án ở bất cứ đâu bạn muốn.
Sau khi dự án đã được tạo, hãy lưu ý cấu trúc của nó:
- thư mục src/main/java chứa các lớp Java
- thư mục src/main/resource chứa các tài nguyên được ứng dụng sử dụng (trang HTML, hình ảnh, biểu định kiểu, v.v.)
- thư mục src/test dành cho các bài kiểm tra
Quản lý các phụ thuộc trong Maven
Bạn có thể đã bắt gặp cụm từ "người quản lý phụ thuộc". Maven biết cách quản lý các phụ thuộc. Nhờ có Maven, bạn không phải mất nhiều thời gian tìm kiếm thư viện cần thiết trên Internet, tải xuống và sau đó kết nối nó với dự án của mình. Thay vào đó, bạn chỉ cần thêm thư viện cần thiết vào danh sách phụ thuộc trong Maven.Các phụ thuộc được chỉ định trong nút phụ thuộc của tệp pom.xml
Giả sử bạn cần thư viện Apache Commons IO trong dự án của mình để đơn giản hóa việc làm việc với các tệp. Để thêm thư viện, chúng tôi viết năm dòng trong tệp pom.xml:
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.6</version>
</dependency>
Bây giờ tệp pom.xml của bạn sẽ trông như thế này:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>example.com</groupId>
<artifactId>example</artifactId>
<version>1.0-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.6</version>
</dependency>
</dependencies>
</project>
Sau đó, cho phép IntelliJ IDEA nhập phần phụ thuộc (một hộp thoại sẽ xuất hiện ở góc dưới bên phải). Bây giờ thư viện đã sẵn sàng để sử dụng:
import org.apache.commons.io.FileUtils;
import java.io.File;
public class TestMaven {
public static void main(String[] args) {
File tempDirectory = FileUtils.getTempDirectory();
}
}
Tất cả các phụ thuộc tiếp theo cũng phải được viết bên trong <dependencies>
thẻ. Bạn có thể tự hỏi làm thế nào để tìm hiểu thông tin về thư viện mà bạn cần chỉ ra bên trong thẻ <dependency>
. Điều đó thật dễ dàng. Ba tham số luôn cần được đặt: "groupId", "artifactId" và "version". Có hai cách để xác định các thông số này:
-
Trên trang web của thư viện. Nếu chúng tôi cần thư viện Apache Commons IO, chúng tôi truy cập trang web chính thức và chọn tab "Thông tin phụ thuộc". Tất cả thông tin cần thiết đều có ở đây — bạn chỉ cần sao chép và thêm vào nút
<dependencies>
. -
Trong kho lưu trữ Maven . Nhập "apache commons io" vào thanh tìm kiếm và bạn sẽ thấy tất cả các phiên bản có sẵn của thư viện. Sau khi chọn đúng, chỉ cần sao chép như sau:
<dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>2.6</version> </dependency>
và thêm nó vào tệp pom.xml của bạn.
Các loại kho lưu trữ Maven
Thật đáng để chúng tôi đề cập đến các kho lưu trữ Maven một lần nữa, bởi vì chúng tôi thực sự có hai kho lưu trữ: kho lưu trữ từ xa (trung tâm) và kho lưu trữ cục bộ (trên máy tính của bạn). Tất cả các thư viện mà bạn thêm vào dự án của mình đều được lưu trong kho lưu trữ cục bộ. Khi Maven thêm một phụ thuộc bắt buộc vào một dự án, trước tiên, Maven sẽ kiểm tra xem thư viện đã tồn tại trong kho lưu trữ cục bộ chưa. Nó chỉ truy cập kho lưu trữ từ xa nếu nó không tìm thấy thư viện cục bộ. Như bạn có thể thấy, bạn có thể sử dụng Maven để thêm các phụ thuộc, nhưng đây không phải là tất cả những gì nó có thể làm.Xây dựng dự án Java bằng Maven
Khả năng này có vẻ vô nghĩa đối với người mới bắt đầu. Tại sao chúng ta cần điều này nếu chúng ta có một IDE? Hãy để tôi giải thích. Đầu tiên, máy chủ mà bạn phải xây dựng ứng dụng của mình có thể không có môi trường phát triển cũng như giao diện đồ họa. Thứ hai, đối với các dự án lớn, Maven thực hiện công việc xây dựng dự án tốt hơn. Vì vậy, không cần phải quảng cáo thêm, chúng tôi sẽ xem xét quá trình xây dựng một ứng dụng bằng Maven.giai đoạn
Quá trình xây dựng một ứng dụng được gọi là vòng đời của dự án Maven và nó bao gồm các giai đoạn. Bạn có thể xem chúng trong IDEA bằng cách nhấp vào Maven > ví dụ > Vòng đời ở góc trên bên phải:
- dọn dẹp - xóa tất cả các tệp đã biên dịch khỏi thư mục đích (nơi lưu các tạo phẩm đã hoàn thành)
- xác thực - kiểm tra xem có tất cả thông tin cần thiết để xây dựng dự án hay không
- biên dịch - biên dịch các tệp mã nguồn
- kiểm tra - bắt đầu kiểm tra
- gói - gói các tệp đã biên dịch (trong kho lưu trữ JAR, WAR, v.v.)
- xác minh - kiểm tra xem tệp được đóng gói đã sẵn sàng chưa
- cài đặt - đặt gói vào kho lưu trữ cục bộ. Bây giờ nó có thể được sử dụng bởi các dự án khác như một thư viện bên ngoài
- trang web - tạo tài liệu dự án
- triển khai - sao chép kho lưu trữ đã xây dựng vào kho lưu trữ từ xa
-
thông qua dòng lệnh:
gói mvn
-
sử dụng IntelliJ IDEA:
Trước khi giai đoạn đóng gói bắt đầu, các giai đoạn xác thực, biên dịch và kiểm tra được thực hiện. Giai đoạn sạch là một ngoại lệ. Bạn nên chạy giai đoạn này trước mỗi lần xây dựng dự án. Bạn có thể liệt kê nhiều giai đoạn, phân tách chúng bằng dấu cách:
gói sạch mvn.
bổ sung
Để thêm một plugin Maven vào dự án, chúng tôi cần thêm mô tả của nó vào tệp pom.xml, sử dụng<build>
và <plugins>
các thẻ, tương tự như cách chúng tôi đã thêm các phụ thuộc. Ví dụ: giả sử chúng tôi cần một plugin để xác minh rằng chúng tôi đang sử dụng phiên bản mới nhất của tất cả các thư viện bên ngoài. Sau một chút tìm kiếm trên Internet, bạn có thể tìm thấy plugin này và hướng dẫn về cách sử dụng nó. Hãy đặt groupId, artifactId và phiên bản. Chúng tôi sẽ chỉ ra những mục tiêu mà plugin phải hoàn thành và ở giai đoạn nào. Trong trường hợp của chúng tôi, việc kiểm tra tính phụ thuộc trong tệp pom.xml hiện tại được thiết lập để diễn ra trong giai đoạn xác thực. Bây giờ tệp pom.xml của chúng tôi trông như thế này:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>example.com</groupId>
<artifactId>example</artifactId>
<version>1.0-SNAPSHOT</version>
<build>
<plugins>
<plugin>
<groupId>com.soebes.maven.plugins</groupId>
<artifactId>uptodate-maven-plugin</artifactId>
<version>0.2.0</version>
<executions>
<execution>
<goals>
<goal>dependency</goal>
</goals>
<phase>validate</phase>
</execution>
</executions>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.6</version>
</dependency>
</dependencies>
</project>
Chúng tôi có thể tiếp tục làm việc trên dự án của chúng tôi. Nhưng hãy thử thay đổi phiên bản Apache Commons IO thành 2.0 và xây dựng dự án. chúng tôi sẽ nhận được
[ERROR] Failed to execute goal com.soebes.maven.plugins:uptodate-maven-plugin:0.2.0:dependency (default) on project example: There is a more up-to-date version ( 2.6 ) of the dependency commons-io:commons-io:2.0 available. -> [Help 1]
Ở đây chúng tôi có một lỗi xây dựng do plugin tạo ra. Thông báo lỗi cho biết chúng tôi đang sử dụng phiên bản 2.0 khi phiên bản 2.6 khả dụng. Về cơ bản, Maven là một công cụ rất hữu ích. Có lẽ ban đầu sẽ có vẻ khó sử dụng, nhưng hãy thực hành! Tạo các dự án của bạn bằng Maven và sau một thời gian, bạn sẽ rất hài lòng với kết quả cuối cùng. Bài viết này đã cố tình bỏ qua rất nhiều chi tiết về Maven — chúng tôi tập trung vào những điều cần thiết nhất. Nhưng không có giới hạn để cải thiện: bạn có thể đọc thêm về Maven trên trang web chính thức của nó . Phần 5. Servlet và Java Servlet API. Viết một ứng dụng web đơn giản Phần 6. Bộ chứa Servlet Phần 7. Giới thiệu mẫu MVC (Model-View-Controller)
GO TO FULL VERSION