IvyDE--类路径容器

IvyDE的类路径容器可与帮助你管理java Eclipse工程的类路径,基于你工程中Ivy文件里声明的依赖关系。java

能够在容器里执行的任务以下:浏览器

  1. 建立一个容器:eclipse

    快速建立:对于多数工程来讲ivy.xml(或pom.xml)文件已经在java工程里了。因此你能够在ivy.xml上右击,而后选择“Add Ivy Library...“,就能够直接访问已经默认填好的类路径容器设置。maven

    标准建立:添加IvyDE类路径容器额标准方式是使用Eclipse的”Build Path“:右击工程选择Build Path-->Add Libraries,而后选择"IvyDE Managed Dependencies"工具

    而后选择ivy.xml或者maven pom.xml以及须要的配置单元测试

    你可能须要给你的工程使用特定的设置,和global不同的配置。勾上"Enable project specific settings",选择你本身的ivysettings.xml测试

    如今类路径已经设置好了,你能够在一个独特的package explorer的文件夹(文件夹名字=ivy-file-name[conf1,conf2])看到全部的依赖
    ui

  2. 编辑类路径设置spa

    在工程的生命周期中,你能够改变ivy.xml文件或者maven pom.xml,也能够改变它们的配置。这些属性能够从IvyDE 类路径容器的内容菜单访问命令行

    你也能够同多build path 配置来编辑:

    打开build path-->Configure Build path...,选择"Libraries"面板,选中IvyDE 类路径容器,而后点击”Edit“按钮,IvyDE雷陆机构容器配置对话框就会跳出来


  3. 启动解析依赖关系

    你能够明确的从类路径容器启动Ivy依赖解析,这个命令会调用”resolve“Ivy 任务,更新你的类路径容器。

    还有一个”refresh“动做:这个动做和resolve类似,可是若是报告已经在cache中存在,它并不会执行彻底的解析。若是你使用Apache Ant 和命令行工做这个尤为有用,它可使你避免执行两次彻底解析。这个也是在Eclipse workspace打开的时候类路径容器的默认执行动做(Windows > Preferences > Ivy),事实上是将类路径容器恢复到上次关闭workspace时的状态,前提是没有其余对ivy.xml同时进行的操做。

    还有一个”reload settings“动做:IvyDE默认在每次须要解析的时候重载ivy settings 文件。可是假如ivy settins 文件是远程的,这个操做回事用户体验很慢。为了不这种体验,你能够在preference页面,选择只在须要时加载,而后使用菜单上的”reload settings“动做。

    你也能够经过Eclipse工具条上的按钮来触发工做空间里全部IvyDE类路径容器的解析(resolve,不是refresh!)

    启动选中工程的解析:

    选择你想解析的工程-->右击打开菜单-->选择Ivy-->Resolve


  4. 检索工程的依赖

    可使类路径容器由检索的依赖组成,jars可使用一个特定的模式从工程中检索而且组成一个容器,以此能够替代指向Ivy cache里的jar文件组成的容器。

    检索模式(Retrieve pattern)指定了相对工程的依赖拷贝路径

    ”Delete old retrieved artifacts“选项能够是IvyDE在每次检索前状况输出文件夹。注意,若是选择了改选项,除了那些以前被IvyDE检索到容器中其余组件的都会被删除

    最后,你能够选择那些类型的组件能够被检索(*表示全部)

  5. 在Eclipse的workspace解析依赖关系

    有些工程师由多个模块组成,这些模块之间一般都会有依赖,而这些依赖是由Apache Ivy 管理。Eclipse能够根据工程之间的依赖关系计算工程的构建顺序。为了利用这一优势,Apache IvyDE有能力将项目引用添加到位于workspace的依赖关系中,用于替代从库中下载其发布的组件。这样一来,开发能够在构建和发布组件到库里以前就开发多模块应用以及测试这些模块之间的交互。

    考虑到每一个多模块应用的多个项目都有大量代码。不少开发都有过这样的经历,尽管开发工做只在应用的几个独立部分进行(可能只有一个或两个工程),可是还得等到Eclipse将全部的相关代码都构建完成。若是最新发布到Ivy库里的组件和开发当前并无用到的模块代码相同,那么关掉eclipse工做空间的那个工程,解析工程的依赖下载相应组件将大大加速编译过程。

    首先,每一个应用模块在Eclipse中应该是一个独立的工程,而且每一个工程都应该有一个配置好的IvyDE类路径容器。而后进入类路径容器的”classpath“面板,选择”Resolve dependencies in workspace“来启用在工做空间内的解析。

    值得注意的是:为了工做空间解析正常工做,ivy.xml里的info信息必须设置合理:

    --org 和name

    --若是指定了rev,依赖关系应当指定适当的范围

    --若是没有设置rev,只会匹配到最新(latest)的依赖

    --status应该和须要的匹配:配置了latest.intergration的依赖只会匹配到info信息里status="interation"的被依赖模块

    在某些配置中,若是你想将本身的解析器和workspace解析器混合使用,还但愿传递依赖可以在它们之间很好的工做,你可能需啊哟将解析魔改改成dynamic

    还要注意若是ivysettings.xml里的任意一个解析器的force属性设置成了true,那么workspace解析器可能不会正确绑定项目,由于forced解析器会优先使用。

  6. 启动类路径由IvyDE管理的软件或单元测试

    IvyDE类路径容器也能够用于启动配置,执行或调试。

    默认行为:

    默认状况下将使用容器,由于它包含在你项目的默认类路径中。这个配置你在java 类上点击”Run As“是就会隐式使用。你在启动类路径中看到的容器和你在包浏览器中的项目中看到的同样

    使用默认编译路径来启动工程在某些状况下可能不合适。例如你可能在容器中配置了一些附加库来支持单元测试,可是这些附加库可能致使应用在运行时不稳定。

    手动管理类路径:

    当你须要更细粒度控制哪些些配置在运行类路径上是可见的,能够手动编辑运行时类路径。

    经过建立一个启动配置,你讲得到如上所述的默认类路径。所以第一步就是移掉它。最有可能的是,你须要从新在user Entries中加上你的工程。而后加上IvyDE容器,选择”Advanced“

    选择"Add Library"

    选择"IvyDE Managed dependencies":

    选择访问Ivy.xml文件的绝对路径和适当的配置

    注意:在启动配置里能够在你建立的容器中编辑或者手动启动一个解析。可是也能够在每一个工程启动以前先启动一个解析。若是解析过程不太长的话,建议这么作。不然你将不得不在每次改变ivy.xml后从新建立一个容器。

    开启在启动以前解析,进入"Advanced"标签,选择"Resolve before lanuch"

    点击”Finish“,观察结果:


  7. 使用IvyDE处理maven pom.xml

  8. Use IvyDE in concert with WTP

相关文章
相关标签/搜索