`
yangzx554
  • 浏览: 19879 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

ivy尝试

阅读更多

     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>
分享到:
评论
5 楼 cremains 2010-10-09  
用起来好麻烦,太麻烦了
4 楼 yangzx554 2010-07-17  
shunai 写道
ivy + ant 是否相当于 Python + ant 这样使用



ivy是ant的一个子项目,应该是不是相当于python+ant的
3 楼 shunai 2010-07-13  
ivy + ant 是否相当于 Python + ant 这样使用
2 楼 luckybean 2010-06-03  
tanklove2 写道
根据你那个nexus设置后,我jar包上传到release目录下出现权限不够问题, refused by the server: Unauthorized。你的可以么


你可以在ivysettings.xml里设置ivy:configure。
如下:
< ivy:configure  file ="path/to/my/ivysettings.xml" >
   < credentials  host ="myhost.com"  realm ="My Realm"  username ="myuser"  passwd ="mypasswd"   />
   < credentials  host ="yourhost.com"  realm ="Your Realm"  username ="myuser"  passwd ="myotherpasswd"   />
</ ivy:configure >
1 楼 tanklove2 2010-05-24  
根据你那个nexus设置后,我jar包上传到release目录下出现权限不够问题, refused by the server: Unauthorized。你的可以么

相关推荐

    黑苹果IVY处理器用Extra

    3. **安全模式**:如果遇到启动问题,可以尝试在Clover引导加载器中启用安全模式(Safe Boot),这会禁用所有非苹果驱动,帮助你定位问题所在。 4. **更新维护**:由于是非官方支持,保持系统和驱动的更新可能需要...

    ant+ivy+nexus的使用

    `defaultResolver`设置了默认使用Nexus仓库,这意味着Ivy会首先尝试从Nexus获取依赖。 总结一下,Ant、Ivy和Nexus的结合使用能有效提升开发效率,简化依赖管理。Ant负责整体构建流程,Ivy处理依赖的获取和管理,而...

    ivy:常春藤,类似于APL的计算器

    尝试演示: cd demo; go run demo.go 适用于iPhone,iPad和Android的原型应用程序可在App Store和Google Play商店中找到。 要找到它们,请搜索“ ivy bignum计算器”。 演讲幻灯片,为: : 演讲视频,为: : 演讲...

    ivy-omni-org:一个常春藤命令,可让您访问组织缓冲区,文件,书签和议程命令

    《Ivy-Omni-ORG:Emacs中的高效组织与导航神器》 在Emacs的世界里,效率是王道,而Ivy-Omni-ORG就是这样一个能够显著提升你使用Emacs...如果你尚未尝试过Ivy-Omni-ORG,那么现在就去探索这个强大工具的无限可能吧!

    用 Java 实现 GeoHashes 我们尽可能地尝试,保持符合规范 .zip

    我们尽可能地尝试/保持符合规范。geohashes 的 java 代码纯 Java 实现的 Geohashes。生成的哈希值在使用字符精度(5 位的倍数)时与参考实现 geohash.org 兼容。但是,您也可以将 Geohashes 编码为长整型(即 64 位...

    ivy-library-distribution-demo

    如果您有兴趣尝试使用新的库分发机制,请阅读以下内容并遵循外部参考。 如果不是,请忽略此项目,然后等到我们在将来的版本中启用它。 我们期望大量的构建时间和安装后的改进 :fire: 。 请记住,此存储库使用的...

    gradle-ivyxml-plugin-0.3.3.zip

    《Gradle IvyXML 插件详解:...无论是对熟悉Ivy的开发者还是想要尝试Gradle的团队,这款插件都是一个值得考虑的选择。通过它,我们可以更轻松地管理项目依赖,提高开发效率,同时也展示了Gradle插件系统的强大扩展性。

    山东省济南市历城第二中学2019-2020学年高一英语下学期学情检测试题(PDF)

    申请者如果遇到这种情况,可以尝试在高峰时段过后再登录查看结果,以避免网络问题。 7. 等待策略:在Ivy Day到来时,申请者应保持耐心,准备好应对可能的技术问题,并理解这是一个普遍现象。如果页面无法打开,可以...

    ng-profiler:用于Ivy,调试和可视化工具的Angular Profiler

    角度轮廓仪 Angular Profiler是一个开发人员工具,...在本地尝试 // init project and install dependences yarn // package plugin in watch mode yarn watch // package and compile devtools page app in watch mode

    org.restlet.jar org.restlet.ext.jackson.jar(nutch 2.2.1无法下载的jar包)

    2. 如果依赖项不存在于默认的Maven或Ivy仓库,可以尝试在其他第三方仓库(如Sonatype Nexus, JFrog Artifactory等)或直接在互联网上搜索对应的jar包。 3. 下载缺失的jar包后,将其添加到Nutch的lib目录下,或者在...

    spring3.1.1源码导入eclipse时缺少的依赖包

    5. **验证依赖**:尝试编译和运行包含Spring代码的类,如果没有任何错误,说明依赖已成功导入。 6. **使用SpringJars**:从压缩包`springJars`中解压出的文件可能包含了Spring框架的部分或全部JARs。这些文件可以...

    丰富的所有图标:常春藤的图标带来更好的体验

    在IT领域,尤其是在文本编辑器和IDE的个性化配置中,图标和图形的使用极大地提升了用户的交互体验。"常春藤的图标"(Ivy Icons)是...对于喜欢个性化和优化自己工作空间的Emacs用户来说,这是一个值得尝试的增强功能。

    imenu-anywhere:跨模式相同的缓冲区中的idoivyhelm imenu标签选择等

    随处可见imenu-anywhere为所有满足过滤条件的缓冲区中的imenu标签提供...anywhere )) 如果安装不起作用,请尝试刷新软件包列表: MX包刷新内容用法只需将imenu-anywhere绑定到您选择的键即可: ( global-set-key ( kb

    胜算在“芯”全新至强E5v3系列处理器解析.pdf

    相比于之前的Ivy Bridge-EP核心,Haswell-EP核心的IPC(每周期指令数)提高了约15%,同时功耗也降低了约30%。这种性能和功耗的改善对服务器市场产生了深远的影响。 在服务器市场中,x86架构已经成为了主流架构,x86...

    repository

    在Java开发中,当执行Ant构建脚本时,如果项目依赖的库没有本地存在,Ant会尝试从配置的远程repository中下载这些依赖。 在Java生态系统中,常见的repository有Maven Central Repository和JCenter,它们存储了大量...

    ThinkPadE431+i7-3632QM.zip

    这款处理器是Ivy Bridge架构的四核八线程CPU,具有良好的计算性能,适合多任务处理和高效工作。在黑苹果(Hackintosh)社区,用户经常尝试在非苹果硬件上安装苹果的操作系统Mac OS,因此这个文件可能与安装或优化Mac...

    playframework:带有Oracle Java 8,sbt,node.js,git和Play Framework 2.5.18的Docker高山映像

    如果您尝试编译或运行为其他版本配置的Play项目,则会将所有新依赖项下载到容器中。 这会花费很多时间,而且没有用,因为下一次创建容器时,所有依赖项都消失了,该过程必须重新开始。 您可以在

    EVC兼容性问题处理.docx

    在vSphere 6.0环境下,如果没有启用EVC,当尝试vMotion迁移运行在E5-2600主机上的虚拟机到Gold 5218主机时,会遇到兼容性问题,因为这两款CPU属于不同的微架构,不被直接支持。 解决这个问题的关键步骤是启用EVC...

    nutch系统教材

    如果是因为依赖问题,可以尝试更新或替换相应的依赖库。 #### 七、总结 通过学习 Nutch,不仅可以掌握高效的网络数据采集技能,还能深入了解 Hadoop 和 NoSQL 数据库等大数据相关技术。Nutch 作为一个开源项目,其...

    zookeeper-3.4.12.zip

    `build.xml`和`ivy.xml`是构建文件,用于自动化构建过程,通常使用Ant或Ivy工具进行编译和依赖管理。 在实际使用中,开发者需要配置Zookeeper的地址,Dubbo的配置文件中通常会有类似`zookeeper://127.0.0.1:2181`...

Global site tag (gtag.js) - Google Analytics