Cập nhật tất cả các thư viện trong Maven file pom.xml bằng lệnh ngắn gọn

Nâng cấp các thư viện Maven dependency theo cách thủ công như thông thường làm mất thời gian kiểm tra từng version của từng thư viện đặc biệt là trong các dự án có nhiều thư viện được phát hành thường xuyên.

Trong bài viết này, Anh Tester sẽ hướng dẫn các bạn cập nhật các dependency trong file pom.xml bằng lệnh được hỗ trợ sẵn trong Maven nhanh gọn lẹ 😋

1. Kiểm tra phiên bản thư viện mới đồng loạt

Cụ thể có file pom.xml như 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>com.anhtester</groupId>
    <artifactId>Selenium4</artifactId>
    <version>4.18.1</version>

    <properties>
        <maven.compiler.source>17</maven.compiler.source>
        <maven.compiler.target>17</maven.compiler.target>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>

    <dependencies>
        <!-- https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-java -->
        <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-java</artifactId>
            <version>4.18.1</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/org.testng/testng -->
        <dependency>
            <groupId>org.testng</groupId>
            <artifactId>testng</artifactId>
            <version>7.9.0</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-api -->
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>2.0.11</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-simple -->
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-simple</artifactId>
            <version>2.0.11</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/net.datafaker/datafaker -->
        <dependency>
            <groupId>net.datafaker</groupId>
            <artifactId>datafaker</artifactId>
            <version>2.1.0</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/org.apache.poi/poi -->
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi</artifactId>
            <version>5.2.5</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.apache.poi/poi-ooxml -->
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi-ooxml</artifactId>
            <version>5.2.5</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/commons-io/commons-io -->
        <dependency>
            <groupId>commons-io</groupId>
            <artifactId>commons-io</artifactId>
            <version>2.15.1</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-api -->
        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-api</artifactId>
            <version>2.23.0</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-core -->
        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-core</artifactId>
            <version>2.23.0</version>
        </dependency>

    </dependencies>

</project>


Giờ muốn kiểm tra các thư viện có phiên bản mới hơn hay chưa thì các bạn bật Terminal hay CMD lên rồi dùng lệnh sau:

mvn versions:display-dependency-updates

Cập nhật tất cả các thư viện trong Maven file pom.xml bằng lệnh ngắn gọn | Anh Tester


Chạy lệnh xong nó hiện tất cả các phiên bản mới nhất sau cùng của từng thư viện nếu có

Cập nhật tất cả các thư viện trong Maven file pom.xml bằng lệnh ngắn gọn | Anh Tester

Thì tới đây các bạn đã nắm được thư viện nào có version mới hơn rồi, có thể cập nhật thủ công cũng được nếu nó ít.

À mà nếu nó nhiều thì sao, chắc hơi lười hả 😄


2. Cập nhật đồng loạt phiên bản mới nhất

Các bạn gỏ tiếp lệnh sau vào sau khi check version mới:

mvn versions:use-latest-releases


Lệnh này nó sẽ giúp cập nhật tất cả các thư viện dùng version đã release mới nhất sau cùng.

Cập nhật tất cả các thư viện trong Maven file pom.xml bằng lệnh ngắn gọn | Anh Tester

Khi nó chạy xong thì nó tự load lại version trong các thẻ dependency trong file pom.xml cho mình luôn. Cụ thể như Selenium phiên bản 4.18.1 lên 4.19.1 cùng các thư viện khác nữa.

Cập nhật tất cả các thư viện trong Maven file pom.xml bằng lệnh ngắn gọn | Anh Tester


🔆 Cập nhật version trong thẻ properties file pom.xml

Nếu các bạn đang đặt version trong thehr <properties> thì cần dùng lệnh này

mvn versions:update-properties






Có những thư viện mà bạn không muốn cập nhật thì bạn cứ chỉnh lại bằng tay thôi, chứ sao giờ 😆

Ngoài ra thì Maven còn backup cho chúng ta file pom.xml.versionsBackup là nội dung file pom.xml cũ trước khi update để phòng hờ muốn phục hồi lại.

Cập nhật tất cả các thư viện trong Maven file pom.xml bằng lệnh ngắn gọn | Anh Tester

3. Kiểm tra version mới cho Plugin trong pom.xml

Nếu trong pom.xml bạn có dùng plugin thì cũng có thể kiểm tra bằng lệnh luôn



Dùng lệnh sau để kiểm tra version mới cho plugin:

mvn versions:display-plugin-updates

Hix mình chưa tìm thấy lệnh để cập nhật version cho plugin 😁

Yeah quá tiện và hay chứ hả, vậy là xong, mình có thói quen dùng thư viện phiên bản mới nhất để được cập nhật các tính năng liên tục. Ngoài ra còn được fix các lỗi lặt vặt.

  • Anh Tester

    Đường dẫu khó chân vẫn cần bước đi
    Đời dẫu khổ tâm vẫn cần nghĩ thấu