- 浏览: 588498 次
- 性别:
- 来自: 广州
-
文章分类
- 全部博客 (188)
- java (14)
- web (14)
- web service (3)
- 杂谈 (14)
- Version Control (13)
- software test (30)
- linux (17)
- database (3)
- distributed storage and computing (1)
- ejb (7)
- project building (46)
- spring & IOC (2)
- Thread (2)
- xml (2)
- tool software (0)
- [网站分类]1.网站首页原创Java技术区(对首页文章的要求: 原创、高质量、经过认真思考并精心写作。BlogJava管理团队会对首页的文章进行管理。) (0)
- project manager (9)
- OSGI (1)
- nosql (3)
最新评论
-
sp42:
好搞笑
你懂不懂xml! (2) -
cherishmmo2004:
感觉你们都很牛掰,我们做的一个运维平台也是用karaf的,用k ...
基于osgi开发大型的企业应用 -
liubey:
“自作聪明”的使用了读写锁,其实只使用ReentrantLoc ...
编码最佳实践(4)--小心LinkedHashMap的get()方法 -
liubey:
你这个代码是sublist后仍然一直持有这个sub的引用,一般 ...
编码最佳实践(5)--小心!这只是冰山一角 -
xiegqooo:
初学maven(5)-使用assembly plugin实现自定义打包
在maven中,对于一个依赖,除了groupId,artifactId,version这三个属性来作为标志之外,还有一个特殊的属性可用: classifier。
以下面的testng的为例:
< groupId > org.testng </ groupId >
< artifactId > testng </ artifactId >
< version > 5.10 </ version >
< classifier > jdk15 </ classifier >
</ dependency >
ivy中依赖对应的有属性org,name,rev,分别对应到maven中的groupId,artifactId,version.
但是ivy中没有和maven的classifier属性相对应的属性,因此无法表示classifier。这样就造成一些问题,比如上面的testng的例子,在ivy中如果将对testng的依赖定义写成上面的样子,则解析时是无法获取到我们想到的依赖 testng-5.10.jar的,从而造成解析失败:
[ivy:resolve] :::: WARNINGS
[ivy:resolve] [FAILED ] org.testng#testng;5.10!testng.jar: (0ms)
[ivy:resolve] ==== shared: tried
[ivy:resolve] G:\workspace\study\java\tools\ivy\skyMailDemo\skyMail\ivy\setup\DepositorySetup\userdir/shared/org.testng/testng/5.10/jars/testng.jar
[ivy:resolve] ==== public: tried
[ivy:resolve] http://192.168.0.30:8081/nexus/content/groups/public/org/testng/testng/5.10/testng-5.10.jar
[ivy:resolve] ::::::::::::::::::::::::::::::::::::::::::::::
[ivy:resolve] :: FAILED DOWNLOADS ::
[ivy:resolve] :: ^ see resolution messages for details ^ ::
[ivy:resolve] ::::::::::::::::::::::::::::::::::::::::::::::
[ivy:resolve] :: org.testng#testng;5.10!testng.jar
[ivy:resolve] ::::::::::::::::::::::::::::::::::::::::::::::
我们可以看一下maven仓库中testng是如何保存的,首先看maven2的官方仓库:
http://repo1.maven.org/maven2/org/testng/testng/5.10/
testng-5.10-jdk14.jar.md5 06-Aug-2009 18:25 128
testng-5.10-jdk14.jar.sha1 06-Aug-2009 18:25 136
testng-5.10-jdk15.jar 06-Aug-2009 18:22 871404
testng-5.10-jdk15.jar.md5 06-Aug-2009 18:25 128
testng-5.10-jdk15.jar.sha1 06-Aug-2009 18:25 136
testng-5.10-sources.jar 06-Aug-2009 18:23 339279
testng-5.10-sources.jar.md5 06-Aug-2009 18:23 130
testng-5.10-sources.jar.sha1 06-Aug-2009 18:23 138
testng-5.10.pom 06-Aug-2009 18:23 2115
testng-5.10.pom.md5 06-Aug-2009 18:23 122
testng-5.10.pom.sha1 06-Aug-2009 18:23 130
然后再看一下ivy官方提供的maven2仓库
http://mirrors.ibiblio.org/pub/mirrors/maven2/org/testng/testng/5.10/
testng-5.10-jdk14.jar.md5 06-Aug-2009 14:25 128
testng-5.10-jdk14.jar.sha1 06-Aug-2009 14:25 136
testng-5.10-jdk15.jar 06-Aug-2009 14:22 851K
testng-5.10-jdk15.jar.md5 06-Aug-2009 14:25 128
testng-5.10-jdk15.jar.sha1 06-Aug-2009 14:25 136
testng-5.10-sources.jar 06-Aug-2009 14:23 331K
testng-5.10-sources.jar.md5 06-Aug-2009 14:23 130
testng-5.10-sources.jar.sha1 06-Aug-2009 14:23 138
testng-5.10.pom 06-Aug-2009 14:23 2.1K
testng-5.10.pom.md5 06-Aug-2009 14:23 122
testng-5.10.pom.sha1 06-Aug-2009 14:23 130
我们会发现,根本不存在testng-5.10.jar 这样的制品,而是有testng-5.10-jdk14.jar 和testng-5.10-jdk15.jar,即必须明确给出classifier属性以确定制品名称并下载。
那么,在ivy中如何指定classifier属性呢?
首先检查ivy的文档,看在ivy.xml中的dependency 元素上是否有对应的可用的属性,结果发现没有。随即祭出google大法,终于在ivy官网的JIRA系统中找到了对这个问题的处理方式(请留意粗体加下划线的内容):
1. 修改ivy.xml文件
增加xmlns:m的namspace定义
在需要制定classifier的依赖上使用属性m:classifier
2. 修改ivysettings,在pattern中增加对classifier的支持
< ibiblio name ="public" m2compatible ="true" root ="http://192.168.0.30:8081/nexus/content/groups/public/" pattern ="[organisation]/[module]/[revision]/[artifact]-[revision](-[classifier]).[ext]" />
</ resolvers >
评论
<ivy-module version="2.0" xmlns:e="http://ant.apache.org/ivy/extra"> <dependency org="org.testng" name="testng" rev="5.10" conf="test->default"> <artifact name="testng" type="jar" ext="jar" e:classifier="jdk15" /> </dependency>
发表评论
-
搜索maven依赖的网站推荐
2011-12-02 16:04 4352使用maven填写依赖的时候,常会遇到需要查一下gro ... -
hudson中subversion HEAD check out 的问题及疑惑
2010-09-30 10:56 40近期发现一个问题,hudson执行任务时,经常不能获取 ... -
你走你的阳光道,我走我的独木桥:整合ant ivy 和testng
2010-05-31 16:11 2114近期自己折腾自己,放着正统的maven + jun ... -
slf4j1.6.0-RC0和logback的0.9.20版本不兼容
2010-04-26 08:54 3542今天,尝试使用slf4j + logback的黄金组合,结果发 ... -
fisheye2.2.1 & Crucible 2.2.1 安装配置笔记
2010-04-27 16:48 32201) 下载 从atlassian网站 ... -
ivy教程(1)-目录
2009-09-21 23:57 2979学习的最佳方式是实践!这是ivy教程将帮助你做到的 ... -
ivy教程(2)-快速开始
2009-09-22 11:48 3088在这个例子中,我们将看到使用ivy的一个最简单的方 ... -
ivy教程(3)-调整默认设置
2009-09-24 20:58 2400ivy绑定一些默认 ... -
ivy教程(4)-多解析器
2009-09-25 15:28 1831这个例子演示模块是如何被多解析器获得的。使用多解析 ... -
ivy教程(5)-双重解析器
2009-09-27 20:58 1755在一些情况下,会发生这样的事情:你的模块描述符(ivy ... -
ivy教程(6)-项目依赖
2009-09-29 23:32 3035这个示例将举例说明在两个项目之间的依赖。 depen ... -
ivy教程(7)-在多项目环境下使用ivy
2009-10-03 11:48 2395在上一个教程中,你已 ... -
ivy教程(8)-使用ivy模块配置
2009-10-04 10:15 2705这个教程介绍ivy文件中的模块配置的使用。ivy模块配置事实上 ... -
ivy教程(9)-架设仓库(1)-介绍
2009-10-04 13:42 1877install任务让你从一个仓库复制一个模块或者模 ... -
ivy教程(10)-架设仓库(2)-基础仓库复制
2009-10-04 15:04 3083在这个步骤中我们使用install任务来从mave ... -
ivy教程(11)-架设仓库(3)-使用命名空间
2009-10-09 21:04 2286现在你已经看到从一个已经存在的仓库创建你自己的仓库是如何的简单 ... -
ivy教程(12)-更多例子
2009-10-09 21:29 1847如果你已经成功的跟随并理解了所有的教程,可能你还是需要得到更好 ... -
ivy中文参考文档(21)-ant任务(9)-post resolve tasks
2009-09-15 14:17 14881) post resolve tasks ... -
ivy中文参考文档(20)-ant任务(8)-cachefileset
2009-09-03 23:11 14201) cachefileset 为配置构建一个有iv ... -
ivy中文参考文档(18)-ant任务(6)-deliver
2009-08-31 22:22 14961) deliver 交付当前模块的解析好的描述符, ...
相关推荐
Maven和Gradle都是流行的Java构建工具,但Gradle以其灵活的Groovy DSL(领域特定语言)和对Apache Ivy的集成而受到许多开发者的青睐。`environments-maven-plugin`可能是一个与环境配置相关的Maven插件,不过在这个...
[get] Getting: http://repo1.maven.org/maven2/org/apache/ivy/ivy/2.1.0/ivy-2.1.0.jar [get] To: D:\Mondrianresource\modrian3\ivy\ivy.jar [get] Not modified - so not downloaded install-ivy: resolve:...
### IDEA + sbt 配置详解 ...这不仅有助于提高开发效率,还能让开发者更好地享受IDE带来的便利。在未来的大数据开发中,Scala将继续扮演重要的角色,掌握这些基础配置方法对于开发人员来说至关重要。
国内大家肯定遇到idea 更新sbt相关插件慢的问题...repox-ivy: http://repox.gtan.com:8078/, [organization]/[module]/(scala_[scalaVersion]/)(sbt_[sbtVersion]/)[revision]/[type]s/[artifact](-[classifier]).[ext]
huaweicloud-ivy: https://repo.huaweicloud.com/repository/ivy/, [organization]/[module]/(scala_[scalaVersion]/)(sbt_[sbtVersion]/)[revision]/[type]s/[artifact](-[classifier]).[ext] ``` 完成上述步骤...
typesafe:http://repo.typesafe.com/typesafe/ivy-releases/,[organization]/[module]/(scala_[scalaVersion]/)(sbt_[sbtVersion]/)[revision]/[type]s/[artifact](-[classifier]).[ext],bootOnly sonatype-oss-...