Apache IVY - cachepath 缓存路径任务
cachepath 任务用于创建 ANT 类路径,其中包含缓存中存在的已解析工件。 由于 ANT 需要 jars 作为类路径来编译 java 文件,因此 Ivy cachepath 构建了类路径。
让我们按照IVY - 解决任务一章中所述创建 Tester.java、build.xml 和 ivy.xml。
更新 build.xml 以使用 ivy 检索任务。
build.xml
<project name="test" default="resolve" xmlns:ivy="antlib:org.apache.ivy.ant"> <target name="resolve" description="resolve dependencies"> <ivy:resolve /> <ivy:cachepath pathid="new.classpath" /> </target> <target name="compile" depends="resolve" description="Compile"> <mkdir dir="build/classes" /> <javac srcdir="src" destdir="build/classes"> <classpath refid="new.classpath" /> </javac> </target> </project>
以下是重要术语。
pathid − 缓存 jar 所在的类路径的 id。
检索任务默认将已解析的依赖项复制到项目的 lib 目录中,并且可以使用模式属性进行更改。
构建项目
我们已经准备好了所有文件。 只需转到控制台即可。 导航至E: > ivy 文件夹并运行 ant 命令。
E:\ivy > ant compile
Ivy 将开始行动,解决依赖关系,您将看到以下结果。
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 2314ms :: artifacts dl 15ms --------------------------------------------------------------------- | | modules || artifacts | | conf | number| search|dwnlded|evicted|| number|dwnlded| --------------------------------------------------------------------- | default | 2 | 2 | 0 | 0 || 4 | 0 | --------------------------------------------------------------------- compile: [javac] E:\ivy\build.xml:13: warning: 'includeantruntime' was not set, defau lting to build.sysclasspath=last; set to false for repeatable builds [javac] Compiling 1 source file to E:\ivy\build\classes BUILD SUCCESSFUL Total time: 3 seconds
您可以在项目构建目录中验证编译后的类文件。