- 浏览: 581578 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (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 4304使用maven填写依赖的时候,常会遇到需要查一下gro ... -
hudson中subversion HEAD check out 的问题及疑惑
2010-09-30 10:56 40近期发现一个问题,hudson执行任务时,经常不能获取 ... -
你走你的阳光道,我走我的独木桥:整合ant ivy 和testng
2010-05-31 16:11 2069近期自己折腾自己,放着正统的maven + jun ... -
slf4j1.6.0-RC0和logback的0.9.20版本不兼容
2010-04-26 08:54 3508今天,尝试使用slf4j + logback的黄金组合,结果发 ... -
fisheye2.2.1 & Crucible 2.2.1 安装配置笔记
2010-04-27 16:48 31761) 下载 从atlassian网站 ... -
ivy教程(1)-目录
2009-09-21 23:57 2939学习的最佳方式是实践!这是ivy教程将帮助你做到的 ... -
ivy教程(2)-快速开始
2009-09-22 11:48 3050在这个例子中,我们将看到使用ivy的一个最简单的方 ... -
ivy教程(3)-调整默认设置
2009-09-24 20:58 2344ivy绑定一些默认 ... -
ivy教程(4)-多解析器
2009-09-25 15:28 1789这个例子演示模块是如何被多解析器获得的。使用多解析 ... -
ivy教程(5)-双重解析器
2009-09-27 20:58 1709在一些情况下,会发生这样的事情:你的模块描述符(ivy ... -
ivy教程(6)-项目依赖
2009-09-29 23:32 2998这个示例将举例说明在两个项目之间的依赖。 depen ... -
ivy教程(7)-在多项目环境下使用ivy
2009-10-03 11:48 2361在上一个教程中,你已 ... -
ivy教程(8)-使用ivy模块配置
2009-10-04 10:15 2658这个教程介绍ivy文件中的模块配置的使用。ivy模块配置事实上 ... -
ivy教程(9)-架设仓库(1)-介绍
2009-10-04 13:42 1846install任务让你从一个仓库复制一个模块或者模 ... -
ivy教程(10)-架设仓库(2)-基础仓库复制
2009-10-04 15:04 3048在这个步骤中我们使用install任务来从mave ... -
ivy教程(11)-架设仓库(3)-使用命名空间
2009-10-09 21:04 2250现在你已经看到从一个已经存在的仓库创建你自己的仓库是如何的简单 ... -
ivy教程(12)-更多例子
2009-10-09 21:29 1814如果你已经成功的跟随并理解了所有的教程,可能你还是需要得到更好 ... -
ivy中文参考文档(21)-ant任务(9)-post resolve tasks
2009-09-15 14:17 14631) post resolve tasks ... -
ivy中文参考文档(20)-ant任务(8)-cachefileset
2009-09-03 23:11 13881) cachefileset 为配置构建一个有iv ... -
ivy中文参考文档(18)-ant任务(6)-deliver
2009-08-31 22:22 14571) deliver 交付当前模块的解析好的描述符, ...
相关推荐
将 apache Ivy 依赖项添加到 Maven 项目的插件。 这是一个分支,它修复了对传递依赖的支持。 配置 常春藤目标可以配置为 settings指向 Ivy 设置 (xml) 文件的字符串文件路径或 URL。 传递一个布尔值(默认为false)...
本项目是一个基于Java的多工程属性文件统一管理Maven插件设计源码,共包含21个文件,其中包括17个Java源文件。系统采用了Java技术,为用户提供了一个便捷的Maven插件解决方案,用于多工程属性文件的统一管理。系统...
5. **支持Java 9**: Maven 3.5.2兼容Java 9,允许开发者在新的JDK环境下使用Maven。 **Maven 的使用流程** 1. **创建项目**: 使用`mvn archetype:generate`命令可以快速创建一个基于模板的新项目。 2. **编辑POM*...
标题“jdk11_maven3.6_win_x64.zip”指的是一个包含了Java Development Kit (JDK) 11的Oracle版本以及Maven 3.6的Windows x64平台安装包。这个压缩文件是为了在64位Windows操作系统上同时安装和使用这两个重要的Java...
4. **多模块项目支持**:Maven 3.0.5能有效地管理大型的多模块项目,简化构建过程。 在实际使用中,如果项目需要与JDK 1.7兼容,并且想要利用Maven的强大功能,那么选择"Maven 3.0.5"是一个明智的决策。同时,要...
** Maven 概述 ** Maven 是一个Java项目管理和综合工具,由Apache软件基金会开发。它简化了构建、依赖管理和项目文档的生成过程。Maven使用一个统一的项目对象模型(Project Object Model,POM),使得项目的配置...
maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装...
第14章:灵活的构建/14.1 Maven的属性/14.1.2 属性分类/14.1.2.3 自定义属性(properties) 第14章:灵活的构建/14.1 Maven的属性/14.1.2 属性分类/14.1.2.4 Setting文件属性 第14章:灵活的构建/14.1 Maven的属性/...
Maven版本下载指南 Maven是一款基于Java的项目管理和构建工具,由 Apache Software Foundation 开发和维护。Maven的主要功能是帮助开发者快速构建、测试和部署项目。在实际项目开发中,Maven发挥着至关重要的作用。...
Maven3.9.4版本压缩包,仅供学习参考,更新版本请前往Maven官方下载;Maven3.9.4版本压缩包,仅供学习参考,更新版本请前往Maven官方下载;Maven3.9.4版本压缩包,仅供学习参考,更新版本请前往Maven官方下载;Maven...
【标题】"maven之开源中国Maven库" 指的是使用 Maven,一个流行的Java项目管理和集成工具,与开源中国的Maven仓库进行交互。开源中国Maven库是中国的一个开源软件资源平台,提供了大量的开源Java库,使得开发者可以...
- 项目对象模型(POM):Maven的配置文件,包含了项目的属性、依赖、构建过程等信息。 - 仓库:存储项目依赖的库,包括本地仓库(Local Repository)和远程仓库(Remote Repository),如中央仓库(Central ...
对于搭载M1芯片的MacBook,由于其架构变化,可能需要确保使用的是支持Apple Silicon的Maven版本,或者使用Rosetta 2转译来运行Intel版本的Maven。 通过以上步骤,你可以在Mac上成功安装和配置Apache Maven 3.6.3,...
【标题】:“maven产品化支持” 在软件开发过程中,Maven是一款强大的构建工具,它主要负责项目的构建、依赖管理和项目信息管理。Maven产品化支持是指将Maven用于企业级项目的构建和部署,以实现标准化、自动化和可...
9. **更好的兼容性**:Maven 3.6.0可能增强了对Java新版本的支持,以及与其他开发工具(如IDEA、Eclipse)的集成。 在实际使用Apache Maven 3.6.0时,开发者可以通过解压提供的`apache-maven-3.6.0`压缩包,配置...
使用Maven导入Maven工程的视频教程 仅供学习交流! 后续会持续分享相关资源,记得关注哦! 使用Maven导入Maven工程的视频教程 使用Maven导入Maven工程的视频教程 使用Maven导入Maven工程的视频教程 使用Maven导入...
3. **配置环境变量**:为了让系统能够识别并使用Maven,你需要设置`M2_HOME`环境变量指向Maven的安装路径,并将`Maven的bin目录`添加到`PATH`环境变量中。 4. **验证安装**:打开命令行窗口,输入`mvn -version`,...
为了让Maven可以在命令行中被全局调用,你需要配置系统环境变量。首先,添加 `MAVEN_HOME` 变量: - 在Windows系统中: 1. 右键点击“此电脑” -> “属性” -> “高级系统设置” -> “环境变量”。 2. 在“系统...
1. **项目对象模型(Project Object Model,POM)**:Maven 项目的核心是POM,这是一个XML文件,包含了项目的配置信息,如项目属性、依赖、构建目标等。 2. **坐标(Coordinates)**:每个Maven项目都有唯一的标识...
Maven和Gradle都是流行的Java构建工具,但Gradle以其灵活的Groovy DSL(领域特定语言)和对Apache Ivy的集成而受到许多开发者的青睐。`environments-maven-plugin`可能是一个与环境配置相关的Maven插件,不过在这个...