7.1 Biến trong Maven - thuộc tính

Các tham số thường gặp mà Maven cho phép bạn đưa vào các biến. Điều này rất hữu ích khi bạn cần khớp các tham số trong các phần khác nhau của tệp pom. Ví dụ: bạn có thể đặt phiên bản Java, phiên bản thư viện, đường dẫn đến một số tài nguyên nhất định vào một biến.

Đối với điều này, có một phần đặc biệt trong pom.xml – <properties>, trong đó các biến được khai báo. Dạng tổng quát của biến như sau:

<variable-name> _ _ _ _meaning< / variable name > _

Ví dụ:

<properties>
    <junit.version>5.2</junit.version>
    <project.artifactId>new-app</project.artifactId>
    <maven.compiler.source>1.13</maven.compiler.source>
    <maven.compiler.target>1.15</maven.compiler.target>
</properties>

Các biến được truy cập bằng một cú pháp khác:

$ { variable -name } _

Khi mã đó được viết, Maven sẽ thay thế giá trị của biến.

Ví dụ:

<dependencies>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>${junit.version}</version>
        <scope>test</scope>
    </dependency>
</dependencies>
 
<build>
    <finalName>${project.artifactId}</finalName>
    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>2.3.2</version>
        <configuration>
            <source>${maven.compiler.source}</source>
            <target>${maven.compiler.target}</target>
        </configuration>
    </plugin>
</build>

7.2 Các biến được xác định trước trong Maven

Khi mô tả một dự án trong tệp pom, bạn có thể sử dụng các biến được xác định trước. Chúng có thể được chia thành nhiều nhóm một cách có điều kiện:

  • Thuộc tính dự án tích hợp;
  • Tài sản dự án;
  • Cài đặt.

Chỉ có hai thuộc tính dự án tích hợp:

Tài sản Sự miêu tả
${dựa} thư mục gốc của dự án ở đâupom.xml
${phiên bản} phiên bản hiện vật; có thể được sử dụng ${project.version}hoặc${pom.version}

Thuộc tính dự án có thể được tham chiếu bằng tiền tố «project»hoặc «pom». Chúng tôi có bốn người trong số họ:

Tài sản Sự miêu tả
${project.build.directory} «target»thư mục dự án
${project.build.outputDirectory} «target»thư mục trình biên dịch. Mặc định«target/classes»
${project.name} tên của dự án
${project.version} phiên bản dự án

Thuộc tính settings.xmlcó thể được truy cập bằng cách sử dụng tiền tố settings. Tên có thể là bất cứ thứ gì - chúng được lấy từ settings.xml. Ví dụ:

${settings.localRepository} sets the path to the local repository.