ivy是apche的ant的子项目,主要是用来解决ant的jar的版本管理。
项目的网址是http://ant.apache.org/ivy/ 下载网址http://ant.apache.org/ivy/download.cgi
包中有个ivy-2.1.0.jar,放在ant的安装目录的lib ,比如我的ubuntu的/usr/share/ant/lib
这样就可以使用在ant的中使用一些ivy内置的命令。
比如一个项目名phoenix,新建一个ivy.xml,
<ivy-module version="2.0">
<info organisation="com.phoenix" module="phoenix" revision="1.0.0"/>
<configurations>
<conf name="default"/>
<conf name="test" visibility="private"/>
</configurations>
<dependencies>
<dependency org="com.phoenix" name="phoenix-util" rev="${phoenix-public.version}" conf="default"/>
<dependency org="com.phoenix" name="phoenix-core" rev="${phoenix-public.version}" conf="default"/>
<dependency org="com.phoenix" name="phoenix-area" rev="${phoenix-public.version}" conf="default"/>
<dependency org="com..phoenix" name="phoenix-kaka" rev="${phoenix-yunying.version}" conf="default"/>
<dependency org="com..phoenix" name="phoenix-tag" rev="${phoenix.version}" conf="default"/>
<dependency org="org.apache.struts" name="struts2-core" rev="2.0.14" conf="default"/>
<dependency org="com.opensymphony" name="xwork" rev="2.0.7" conf="default"/>
<dependency org="net.sourceforge" name="pinyin4j" rev="2.5.0" conf="default"/>
<dependency org="org.apache.poi" name="poi" rev="3.2-FINAL" conf="default"/>
<dependency org="dom4j" name="dom4j" rev="1.6.1" conf="default"/>
<dependency org="org.springframework" name="spring-beans" rev="2.5.6" conf="default"/>
<dependency org="org.springframework" name="spring" rev="2.5.6" conf="default"/>
<dependency org="javax.servlet" name="servlet-api" rev="2.4" conf="default"/>
</dependencies>
</ivy-module>
上面有该个工程需要的jar的版本,公司内部的jar版本用一个变量定义,便于统一升级
还有的ivysettings.xml是的主要配置的文件
<?xml version="1.0" encoding="utf-8"?>
<ivysettings>
<include url="./ivysettings-public.xml"/>
<include url="./ivyconf-main-chain.xml"/>
<include url="./ivyconf-local.xml"/>
<ivy:configure url="./ivysettings.xml" >
<credentials host="10.5.58.91" realm="Sonatype Nexus Repository Manager" username="admin" passwd="admin123" />
</ivy:configure>
<settings defaultResolver="main" checkUpToDate="true" defaultConflictManager="latest-revision"/>
</ivysettings>
上面的有我自己的 nexus的私服,可以上传ivy的打的jar包
ivysettings-public.xml(公共的服务器)下面定义两个仓库,用来区分是自己的release的,还是外部提供的jar
<ivysettings>
<resolvers>
<ibiblio name="release" m2compatible="true" usepoms = " false " root="http://10.5.58.91/nexus/content/repositories/Koubei-release/"/>
<ibiblio name="public" m2compatible="true" usepoms = " false " root="http://10.5.58.91/nexus/content/groups/public/"/>
</resolvers>
</ivysettings>
ivyconf-local.xml
<ivysettings>
<property name="ivy.local.default.root" value="${ivy.default.ivy.user.dir}/local" override="false"/>
<property name="ivy.local.default.ivy.pattern" value="[organisation]/[module]/[revision]/[type]s/[artifact]-[revision].[ext]" override="false"/>
<property name="ivy.local.default.artifact.pattern" value="[organisation]/[module]/[revision]/[type]s/[artifact]-[revision].[ext]" override="false"/>
<resolvers>
<filesystem name="local">
<ivy pattern="${ivy.local.default.root}/${ivy.local.default.ivy.pattern}" />
<artifact pattern="${ivy.local.default.root}/${ivy.local.default.artifact.pattern}" />
</filesystem>
</resolvers>
</ivysettings>
ivyconf-main-chain.xml
<ivysettings>
<resolvers>
<chain name="main" dual="true">
<resolver ref="release"/>
<resolver ref="public"/>
</chain>
</resolvers>
</ivysettings>
以上的ivy基本配置基本完成
现在就是在ant 中写相关的build.xml 的任务
ant resolve 下载需要的jar
ant publish-local 发布到自己本机的仓库
ant publish 把相关的包发布到自己的私服
<!-- =================================
target: resolve
================================= -->
<target name="resolve" description="--> retreive dependencies with ivy">
<ivy:retrieve />
</target>
<!-- =================================
target: report
================================= -->
<target name="report" depends="resolve" description="--> generates a report of dependencies">
<ivy:report todir= "build" />
</target>
<!-- =================================
target: clean-cache
================================= -->
<target name="clean-cache" description="--> clean the ivy cache">
<ivy:cleancache />
</target>
<target name="publish-local" description="--> Publish Local" depends="build.phoenix">
<ivy:retrieve />
<ivy:publish resolver="local" pubrevision="${release.version}" status="release" update="true" overwrite="true">
<artifacts pattern="dist/[artifact].[ext]" />
</ivy:publish>
</target>
<target name="publish" description="--> Publish nexus" depends="publish-local">
<ivy:retrieve />
<ivy:publish resolver="release" pubrevision="${release.version}" status="release" update="true" overwrite="true" forcedeliver="true">
<artifacts pattern="dist/[artifact].[ext]" />
</ivy:publish>
</target>
分享到:
相关推荐
3. **安全模式**:如果遇到启动问题,可以尝试在Clover引导加载器中启用安全模式(Safe Boot),这会禁用所有非苹果驱动,帮助你定位问题所在。 4. **更新维护**:由于是非官方支持,保持系统和驱动的更新可能需要...
`defaultResolver`设置了默认使用Nexus仓库,这意味着Ivy会首先尝试从Nexus获取依赖。 总结一下,Ant、Ivy和Nexus的结合使用能有效提升开发效率,简化依赖管理。Ant负责整体构建流程,Ivy处理依赖的获取和管理,而...
尝试演示: cd demo; go run demo.go 适用于iPhone,iPad和Android的原型应用程序可在App Store和Google Play商店中找到。 要找到它们,请搜索“ ivy bignum计算器”。 演讲幻灯片,为: : 演讲视频,为: : 演讲...
《Ivy-Omni-ORG:Emacs中的高效组织与导航神器》 在Emacs的世界里,效率是王道,而Ivy-Omni-ORG就是这样一个能够显著提升你使用Emacs...如果你尚未尝试过Ivy-Omni-ORG,那么现在就去探索这个强大工具的无限可能吧!
我们尽可能地尝试/保持符合规范。geohashes 的 java 代码纯 Java 实现的 Geohashes。生成的哈希值在使用字符精度(5 位的倍数)时与参考实现 geohash.org 兼容。但是,您也可以将 Geohashes 编码为长整型(即 64 位...
如果您有兴趣尝试使用新的库分发机制,请阅读以下内容并遵循外部参考。 如果不是,请忽略此项目,然后等到我们在将来的版本中启用它。 我们期望大量的构建时间和安装后的改进 :fire: 。 请记住,此存储库使用的...
《Gradle IvyXML 插件详解:...无论是对熟悉Ivy的开发者还是想要尝试Gradle的团队,这款插件都是一个值得考虑的选择。通过它,我们可以更轻松地管理项目依赖,提高开发效率,同时也展示了Gradle插件系统的强大扩展性。
申请者如果遇到这种情况,可以尝试在高峰时段过后再登录查看结果,以避免网络问题。 7. 等待策略:在Ivy Day到来时,申请者应保持耐心,准备好应对可能的技术问题,并理解这是一个普遍现象。如果页面无法打开,可以...
角度轮廓仪 Angular Profiler是一个开发人员工具,...在本地尝试 // init project and install dependences yarn // package plugin in watch mode yarn watch // package and compile devtools page app in watch mode
2. 如果依赖项不存在于默认的Maven或Ivy仓库,可以尝试在其他第三方仓库(如Sonatype Nexus, JFrog Artifactory等)或直接在互联网上搜索对应的jar包。 3. 下载缺失的jar包后,将其添加到Nutch的lib目录下,或者在...
5. **验证依赖**:尝试编译和运行包含Spring代码的类,如果没有任何错误,说明依赖已成功导入。 6. **使用SpringJars**:从压缩包`springJars`中解压出的文件可能包含了Spring框架的部分或全部JARs。这些文件可以...
在IT领域,尤其是在文本编辑器和IDE的个性化配置中,图标和图形的使用极大地提升了用户的交互体验。"常春藤的图标"(Ivy Icons)是...对于喜欢个性化和优化自己工作空间的Emacs用户来说,这是一个值得尝试的增强功能。
随处可见imenu-anywhere为所有满足过滤条件的缓冲区中的imenu标签提供...anywhere )) 如果安装不起作用,请尝试刷新软件包列表: MX包刷新内容用法只需将imenu-anywhere绑定到您选择的键即可: ( global-set-key ( kb
相比于之前的Ivy Bridge-EP核心,Haswell-EP核心的IPC(每周期指令数)提高了约15%,同时功耗也降低了约30%。这种性能和功耗的改善对服务器市场产生了深远的影响。 在服务器市场中,x86架构已经成为了主流架构,x86...
在Java开发中,当执行Ant构建脚本时,如果项目依赖的库没有本地存在,Ant会尝试从配置的远程repository中下载这些依赖。 在Java生态系统中,常见的repository有Maven Central Repository和JCenter,它们存储了大量...
这款处理器是Ivy Bridge架构的四核八线程CPU,具有良好的计算性能,适合多任务处理和高效工作。在黑苹果(Hackintosh)社区,用户经常尝试在非苹果硬件上安装苹果的操作系统Mac OS,因此这个文件可能与安装或优化Mac...
如果您尝试编译或运行为其他版本配置的Play项目,则会将所有新依赖项下载到容器中。 这会花费很多时间,而且没有用,因为下一次创建容器时,所有依赖项都消失了,该过程必须重新开始。 您可以在
在vSphere 6.0环境下,如果没有启用EVC,当尝试vMotion迁移运行在E5-2600主机上的虚拟机到Gold 5218主机时,会遇到兼容性问题,因为这两款CPU属于不同的微架构,不被直接支持。 解决这个问题的关键步骤是启用EVC...
如果是因为依赖问题,可以尝试更新或替换相应的依赖库。 #### 七、总结 通过学习 Nutch,不仅可以掌握高效的网络数据采集技能,还能深入了解 Hadoop 和 NoSQL 数据库等大数据相关技术。Nutch 作为一个开源项目,其...
`build.xml`和`ivy.xml`是构建文件,用于自动化构建过程,通常使用Ant或Ivy工具进行编译和依赖管理。 在实际使用中,开发者需要配置Zookeeper的地址,Dubbo的配置文件中通常会有类似`zookeeper://127.0.0.1:2181`...