艾薇的配置和使用是怎样的

介绍

本篇文章给大家分享的是有关常春藤的配置和使用是怎样的,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

maven很强大,但也有令人烦恼的地方。看到常春藤似乎日渐成熟,试试看这个小东西表现如何,毕竟后面有那个强大的蚂蚁

一。下载安装

,,从官网http://ant.apache.org/ivy/下载到最新的ivy2.0.0正式版,选择的是与依赖的包。

,,在安装常春藤之前,请先安装好蚂蚁,因为常春藤是基于蚂蚁的,需要根据常春藤的版本选择ant的版本。

下载地址:http://mirrors.tuna.tsinghua.edu.cn/apache//ant/ivy/2.4.0/apache-ivy-2.4.0-bin-with-deps.tar.gz

,,参照官网的安装,将下载下来的常春藤安装包解压,然后复制常春藤的jar文件到蚂蚁的自由目录下(ANT_HOME/lib)。设置系统属性IVY_HOME到常春藤的安装目录,比如D: \ ivy2.4.0。

二。设置工作目录

,,艾薇使用“ivy.default.ivy.user.dir"作为工作目录,艾薇通过以下方式确认该目录的具体路径:

,,1. 查找变量ivy.default.ivy.user.dir

,,2. 如果没有找的到,查找变量ivy.home

,,3.如果还没有找的到,查找变量user.home,然后使用user.home/.ivy目录

,,默认安装而没有专门设置前,前两个变量不存在,因此艾薇就会使用user.home作为默认工作目录。

,,艾薇使用缓存目录来存放缓存文件,艾薇通过以下方式确认该目录的具体路径:

,,1. 查找变量ivy.cache.dir

,,2. 如果没有找的到,使用ivy.default.ivy.user.dir/缓存默认安装而没有专门设置前,前ivy.cache.dir变量不存在,因此艾薇就会使用ivy.default.ivy.user.dir/缓存,由于ivy.default.ivy.user.dir在该情况下默认使用user.home,因此最后的结果就是使用user.home/缓存目录。

修改默认工作路径的方法,很明显,设置上述的几个变量值即可。比如需要将ivy.default.ivy.user.dir设置到一个特定的目录而不是使用当前操作系统的user.home路径,对于常春藤,可以通过设置蚁属性的方式,比如修改build . xml文件,增加以下内容

,,& lt;属性名=癷vy.default.ivy.user.dir"值=https://www.yisu.com/zixun/" D:/常春藤/userdir "/>这样就将工作路径修改过去,缓存目录也随之改变,避免重新安装操作系统/安装多操作系统等情况下对当前操作系统和用户的依赖。

由于build . xml文件通常都是项目文件,需要提交到svn, git等版本控制系统中,因此直接在里面写路径不大适合,一旦修改需要改动所有项目的build . xml,而且不同开发人员要求路径相同,不大合理。考虑到蚂蚁是可以方便读取系统环境变量的,因此可以用环境变量来定义具体的路径,蚂蚁简单使用该环境变量:

,,设置环境变量env.ivy.default.ivy.user.dir=D: \常春藤\ userdir

,,build . xml中这样引用:

,,& lt;房地产环境=癳nv"/祝辞

,,& lt;属性名=癷vy.default.ivy.user.dir"value=" $ {env.ivy.default.ivy.user.dir} "/>以https://www.yisu.com/zixun/上目录使用规则可以直接看艾薇的源代码,很清晰,类org.apache.ivy.core.settings.IvySettings中IvySettings()的构造函数很容易看出上面的规则。

三。配置文件路径,,艾薇使用变量名ivy.settings.file来设置配置文件路径,由于没有找到相关的设置文档,因此干脆打开源文件看代码。

,,在类org.apache.ivy.ant.IvyAntSettings中,函数defineDefaultSettingFile()中有相关的代码:

,,1. 查找变量名ivy.settings.file

,,settingsFileName=variableContainer.getVariable (“ivy.settings.file");

,,2 .可能的路径,依次是项目BaseDir(应该是蚂蚁的build . xml文件中定义的BaseDir,通常是项目根路径),当前路径,很奇怪居然不查找诸如ivy.default.ivy.user.dir的路径,甚至连ivy.settings.dir都不去查,找莫名其妙

,,文件[][]{settingsLocations=新文件

,,,,,,,,新文件(getProject () .getBaseDir (), settingsFileName),

,,,,,,,,新文件(getProject () .getBaseDir (),“ivyconf.xml"),,

,,,,,,,,新文件(settingsFileName)

,,,,,,,,新文件(“ivyconf.xml"),

,,,,};

,,3.上面四个路径依次查找

,,,,for (int i=0;我& lt;settingsLocations.length;我+ +){

,,,,,,文件=settingsLocations[我];

,,,,,,详细(“搜索设置文件:在“+文件),

,,,,,,如果(file.exists ()) {

,,,,,,,,打破;

,,,,,,}

,,,,}

,,4. 如果没有找的到,则取默认设置

,,如果(! file.exists ()) {

,,,,,,,,信息(“没有发现设置文件,使用默认…“);

,,,,,,,,文件=零;

,,,,,,,,url=IvySettings.getDefaultSettingsURL ();

艾薇的配置和使用是怎样的