Apache Maven - Tóm tắt
Nếu bạn là Nhà phát triển Java, các hoạt động hàng ngày của bạn khi làm việc với dự án của bạn bao gồm - Viết mã, Biên dịch mã, Kiểm tra mã, Đóng gói mã dưới dạng tạo tác như jar hoặc tệp chiến tranh và sau đó triển khai mã này tạo tác cho một máy chủ web.
Có rất nhiều tác vụ bạn phải xử lý thủ công và rõ ràng, bạn có thể tự động hóa các tác vụ này bằng thư viện có tên là Apache Maven
Trong bài viết này, chúng ta sẽ hiểu Apache Maven là gì và cách bạn có thể sử dụng nó một cách hiệu quả để xây dựng và quản lý các dự án java của mình
Trước tiên, hãy để chúng tôi hiểu các nguyên tắc cơ bản của maven
Maven là gì?
Maven là một công cụ quản lý dự án được phát triển để trợ giúp, quản lý các dự án được phát triển bằng các ngôn ngữ JVM như Java và Scala. Nhiệm vụ chính của các công cụ quản lý dự án bao gồm,
- Xây dựng mã nguồn
- Kiểm thử mã nguồn
- Đóng gói vào lọ, chiến hoặc tai
- Tạo tài liệu java
- Quản lý phụ thuộc
Bây giờ, hãy tiếp tục và xem cách cài đặt Maven trên máy của chúng tôi.
- Mở https://maven.apache.org/ trong trình duyệt của bạn
- Chuyển đến phần tải xuống và tải xuống thư mục zip phiên bản maven mới nhất và giải nén nó
- Đặt biến đường dẫn môi trường Thêm Java_HOME và MAVEN_HOME
- Thêm đường dẫn maven vào biến môi trường. ví dụ: F:\apache-maven-3.6.3-bin\apache-maven-3.6.3\bin
Kho lưu trữ Maven:
Kho lưu trữ Maven là một thư mục chứa các tệp jar được đóng gói với pom.xml. Maven tìm kiếm các phụ thuộc trong kho lưu trữ. Có ba loại kho lưu trữ maven.
- Kho lưu trữ cục bộ
- Kho trung tâm
- Kho lưu trữ từ xa
Ngoài ra, chúng ta có thể thay đổi vị trí của kho lưu trữ cục bộ trong tệp settings.xml, nằm trong MAVEN_HOME/conf/settings.xml Ví dụ: E:\Apache-maven-3.1.1\conf\settings.xml
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
<!-- localRepository
| The path to the local repository maven will use to store artifacts.
|
| Default: ${user.home}/.m2/repository
<localRepository>/path/to/local/repo</localRepository>
-->
</settings>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
<localRepository>e:/mavenlocalrepository</localRepository>
</settings>
Kho lưu trữ trung tâm chứa rất nhiều thư viện phổ biến có thể được xem bằng URL nàyhttp://search.maven.org/#browse.
Maven Remote Repository: Kho lưu trữ từ xa Maven được đặt trên web. Một số thư viện có thể bị thiếu trong kho lưu trữ trung tâm, chẳng hạn như thư viện JBoss, v.v., vì vậy chúng ta cần xác định một kho lưu trữ từ xa trong tệp pom.xml.
Cấu trúc dự án Maven:
Bây giờ hãy để chúng tôi hiểu cấu trúc dự án Maven. Khi bạn tạo một dự án maven, bạn sẽ thấy một thư mục có tên
- src — nguồn — là gốc của mã nguồn ứng dụng của chúng tôi và kiểm tra đơn vị ứng dụng
- src/main/java — chứa mã nguồn ứng dụng của chúng ta, tất cả mã sản xuất mà chúng ta viết cho ứng dụng đều nằm trong thư mục này
- src/main/resources - nơi chúng tôi lưu trữ tất cả các tệp tĩnh, chúng tôi sử dụng trong dự án của mình. ví dụ application.properties , tệp XML, tệp CSV, v.v.
- Nếu bạn đang phát triển một ứng dụng web, thì tất cả các tệp html và javascript sẽ nằm trong thư mục này
- src/test/java — tại đây, nơi chúng tôi viết bài kiểm tra đơn vị và bài kiểm tra tích hợp cho ứng dụng của mình
- pom.xml — nó chứa siêu dữ liệu của các thành phần phụ thuộc của dự án
- mục tiêu - trong thư mục này, maven lưu trữ tất cả các tệp lớp java đã biên dịch
POM chứa siêu dữ liệu của dự án và cũng chịu trách nhiệm quản lý các phụ thuộc để định cấu hình các plugin giúp chúng tôi tự động hóa nhiều tác vụ lặp đi lặp lại, đây là tệp pom.xml cơ bản
<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>com.maven.application</groupId>
<artifactId>my-app</artifactId>
<version>1</version>
</project>
- phiên bản mô hình - phiên bản mô hình sẽ luôn được đặt thành 4.0.0 trừ khi bạn thay đổi nó thành phiên bản maven khác. Ví dụ: các phiên bản cao hơn trên 3.0
- tập tin pom đơn giản
- tập tin siêu pom
- tập tin pom hiệu quả
Tệp super pom: Bạn có thể tìm thấy tệp super pom trong thư mục cài đặt maven, theo đường dẫn lib. Và bên trong tệp jar - maven-model-builder, chúng ta có thể tìm thấy một gói có tên là org
Tệp pom hiệu quả: Tệp pom hiệu quả không là gì ngoài sự kết hợp của tệp pom đơn giản và siêu pom. Nó chỉ là một cách để kiểm tra tất cả thông tin của các tệp pom.xml chỉ ở một nơi. Để xem tệp pom hiệu quả, hãy chuyển đến loại thiết bị đầu cuối maven
mvn-help: effective-pom
Maven có hai loại phụ thuộc
- Phụ thuộc ảnh chụp nhanh: phụ thuộc ảnh chụp nhanh có nghĩa là một dự án đang được phát triển tích cực và không ổn định.
- Sự phụ thuộc của bản phát hành: sau khi dự án hoàn thành thì nó được phát hành
Chúng tôi có thể kiểm soát khả năng hiển thị của phụ thuộc maven bằng cách sử dụng phạm vi phụ thuộc. Có 5 loại phạm vi
- Biên dịch: Đây là phạm vi mặc định cho tất cả các phụ thuộc và các phụ thuộc được đánh dấu bằng biên dịch có sẵn bên trong đường dẫn lớp của dự án
- Được cung cấp: một phụ thuộc cung cấp phạm vi sẽ được cung cấp tại thời điểm chạy bởi jdk hoặc máy chủ web
- Thời gian chạy: như tên cho thấy sự phụ thuộc được đánh dấu bằng thời gian chạy chỉ khả dụng khi chạy chứ không phải lúc biên dịch.
- Kiểm tra: các phụ thuộc này chỉ khả dụng tại thời điểm viết và thực hiện kiểm tra.
- Phạm vi hệ thống: điều này tương tự như phạm vi được cung cấp nhưng điểm khác biệt duy nhất là chúng tôi đã đề cập rõ ràng nơi chúng tôi có thể tìm thấy sự phụ thuộc trong hệ thống. Thay vì JDK hoặc máy chủ web cung cấp phần phụ thuộc này khi chạy, chúng tôi cung cấp đường dẫn hệ thống nơi maven có thể tìm thấy phần phụ thuộc này. Chúng tôi có thể cung cấp đường dẫn bằng đường dẫn hệ thống
Vòng đời xây dựng Maven được chia thành 3 bước khác nhau:
- Mặc định — là một phần của bước này, maven thực hiện rất nhiều tác vụ,
- maven đọc pom.xml và xác thực xem chúng tôi có xml hợp lệ hay không.
- Sau đó, maven sẽ biên dịch mã nguồn của chúng tôi và tạo các tệp lớp và lưu trữ chúng trong thư mục đích.
- Sau đó, trong giai đoạn thử nghiệm, như một phần của thử nghiệm, maven chạy thử nghiệm đơn vị bên trong dự án.
- gói — là một phần của gói, maven gói mã nguồn thành một tạo phẩm do chúng ta lựa chọn như tệp jar hoặc war hoặc tai hoặc zip
- kiểm tra tích hợp - nếu dự án của chúng tôi chứa bất kỳ kiểm tra tích hợp nào và được thực thi
- xác minh - maven kiểm tra thử nghiệm tích hợp, chạy trong giai đoạn trước có thành công hay không
- cài đặt - maven sẽ cài đặt gói đã tạo vào kho lưu trữ cục bộ
- triển khai — sau khi cài đặt, maven sẽ triển khai vào một kho lưu trữ từ xa.
2. Làm sạch: bước này chịu trách nhiệm chính để làm sạch các lớp java đã biên dịch hoặc siêu dữ liệu được tạo. Ví dụ: cài đặt sạch mvn
3. Trang web: Điều này chịu trách nhiệm tạo tài liệu java có trong dự án của chúng tôi.
Maven đơn giản hóa quá trình xây dựng theo cách tiên tiến hơn nhiều. Tôi hy vọng bạn đã học và có một số điểm cần hiểu về Apache Maven.
Cảm ơn bạn đã đọc bài viết. Hãy vỗ tay, chia sẻ và bình luận. nó sẽ khuyến khích tôi viết nhiều bài báo như vậy. Hãy chia sẻ những gợi ý có giá trị của bạn, tôi đánh giá cao phản hồi trung thực của bạn!!!
Câu hỏi phỏng vấn dựa trên luồng Java8 thường được hỏi nhất - Phần 1 Cách dễ nhất để truy cập cơ sở dữ liệu trong JAVA Nắm bắt nhiều ngoại lệ trong mã hóa Java: Tìm số Fibonacci thứ n trong JavaScript Các trang web thực trả từ 50 đến 100 đô la mỗi giờ cho việc hiệu đính sách Phân luồng và đa xử lý trong Giải thích về Python
![Dù sao thì một danh sách được liên kết là gì? [Phần 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































