Apache IVY - Giải quyết công việc
Tác vụ giải quyết được sử dụng để giải quyết các phụ thuộc được mô tả trong ivy.xml, tải xuống và đặt chúng vào bộ nhớ cache của ivy.
Trước tiên, hãy tạo một tệp java Tester.java trong E: > ivy > src > com > tutorialspoint thư mục sẽ hoạt động như thư mục nguồn cho dự án kiến.
Application.java
package com.tutorialspoint;
import org.apache.commons.lang.StringUtils;
public class Application {
public static void main(String[] args) {
String string = StringUtils.upperCase("Ivy Beginner Guide");
System.out.println(string);
}
}
Lớp trên đang sử dụng thư viện lang commons apache để sử dụng lớp StringUtils của nó. Ivy nên tải xuống thư viện này và do đó nó phải được định nghĩa trong phần phụ thuộc trong ivy.xml. Sau đây là ivy.xml được tạo trong E: > ivy thư mục.
ivy.xml
<?xml version="1.0" encoding="ISO-8859-1"?>
<ivy-module version="2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="http://ant.apache.org/ivy/schemas/ivy.xsd">
<info
organisation="com.tutorialspoint"
module="test"
status="integration">
</info>
<dependencies>
<dependency org="org.apache.commons" name="commons-lang3" rev="3.9"/>
</dependencies>
</ivy-module>
Sau đây là các điều khoản quan trọng.
ivy-module - Phần tử gốc để xác định phiên bản thường xuân, không gian tên, v.v.
info - yếu tố để xác định dự án như một thực thể duy nhất.
organisation - tên của tổ chức
module - tên của mô-đun
status - trạng thái như phát hành, tích hợp hoặc cột mốc.
dependencies - phần tử để chứa các phụ thuộc của dự án dưới dạng các thẻ phụ thuộc có các thuộc tính sau.
org - tên tổ chức của người phụ thuộc
name - tên của người phụ thuộc.
rev - phiên bản của sự phụ thuộc.
build.xml
<project name="test" default="resolve" xmlns:ivy="antlib:org.apache.ivy.ant">
<target name="resolve" description="resolve dependencies">
<ivy:resolve />
</target>
</project<
Sau đây là các điều khoản quan trọng.
project - Phần tử gốc để xác định tên dự án, không gian tên tác vụ mặc định cho ivy, v.v.
target- phần tử mục tiêu để tạo một nhiệm vụ mới và mô tả của nó. Điều này chứa một nhiệm vụ giải quyết cây thường xuân. Khi ant xây dựng dự án, nó chạy tác vụ giải quyết cây thường xuân, sau đó sẽ giải quyết các phần phụ thuộc bằng cây thường xuân.
Xây dựng dự án
Vì tất cả các tệp đã sẵn sàng. Chỉ cần vào bảng điều khiển. Hướng đếnE: > ivy thư mục và chạy lệnh ant.
E:\ivy > ant
Ivy sẽ vào cuộc, giải quyết các phụ thuộc, bạn sẽ thấy kết quả sau.
Buildfile: E:\ivy\build.xml
resolve:
[ivy:resolve] :: Apache Ivy 2.5.0 - 20191020104435 :: https://ant.apache.org/ivy
/ ::
[ivy:resolve] :: loading settings :: url = jar:file:/E:/Apache/apache-ant-1.9.14
/lib/ivy-2.5.0.jar!/org/apache/ivy/core/settings/ivysettings.xml
[ivy:resolve] :: resolving dependencies :: com.tutorialspoint#test;working@Acer-
PC
[ivy:resolve] confs: [default]
[ivy:resolve] found commons-lang#commons-lang;2.6 in public
[ivy:resolve] found junit#junit;3.8.1 in public
[ivy:resolve] :: resolution report :: resolve 375ms :: artifacts dl 79ms
---------------------------------------------------------------------
| | modules || artifacts |
| conf | number| search|dwnlded|evicted|| number|dwnlded|
---------------------------------------------------------------------
| default | 2 | 2 | 0 | 0 || 4 | 0 |
---------------------------------------------------------------------
[ivy:retrieve] :: retrieving :: com.tutorialspoint#test [sync]
[ivy:retrieve] confs: [default]
[ivy:retrieve] 0 artifacts copied, 2 already retrieved (0kB/101ms)
BUILD SUCCESSFUL
Total time: 1 second
E:\ivy>
Giải quyết đầu ra
Sau đây là các điều khoản quan trọng.
conf - cấu hình, trong trường hợp của chúng tôi, chúng tôi đang sử dụng cấu hình mặc định.
modules - cho biết tổng số mô-đun, mô-đun đã tải xuống, v.v.
artifacts - cho biết tổng số hiện vật, hiện vật được tải xuống, v.v.
Bạn có thể xác minh các tệp đã tải xuống ở vị trí mặc định của ivy cache trong ${ivy.default.ivy.user.dir} > .ivy2 > cachethư mục. Và $ {ivy.default.ivy.user.dir} theo mặc định là nhà của người dùng: $ HOME.