我使用蚂蚁来构建我的项目,使用常春藤来解决它的依赖关系。我的项目有一个依赖关系,它将快照发布到我的内部艺术工厂服务器。
如果依赖项发布了新的快照,并且我执行
依赖关系快照的名称类似于
depproject-1.0.0 23。jar
其中23
是内部版本号。它的发布地址如下http://artifactory.example.com/example-snapshots-local/com.example/depproject/1.0-SNAPSHOT/depproject-1.0.023.5罐。这不是Maven存储库,它被配置为存储唯一的快照。
我是常春藤的新手。这是预期的行为吗?如何配置Ivy或Ant,以便只保留最新的依赖项快照?
ivysettings。xml
<?xml version="1.0" encoding="UTF-8"?>
<ivy-settings>
<settings defaultResolver="main" />
<resolvers>
<chain name="main">
<ibiblio
name="artifactory-example-snapshots"
m2compatible="false"
root="http://artifactory.example.com/example-snapshots-local/"
pattern="[organization]/[module]/1.0-SNAPSHOT/[artifact]-[revision](-[classifier]).[ext]" />
<!-- more repos listed -->
</chain>
</resolvers>
</ivy-settings>
常春藤。xml
<ivy-module version="2.0">
<info organisation="com.example" module="myproject" />
<dependencies>
<dependency org="com.example" name="depproject" rev="latest.integration" />
</dependencies>
</ivy-module>
我假设您正在使用lib目录中的jar创建一个类路径,类似于:
<path id="compile.path">
<fileset dir="lib" includes="*.jar"/>
</path>
你的问题是多个罐子包含相同的类?
我认为你有两个选择:
第一种选择可能看起来更复杂,但实际上它是一种非常有效的使用常春藤的方法。有关示例,请参见:
更新:简化我的问题-我有一个模块mod1,它被用作模块MOD2中的依赖项。我希望确保mod2始终使用mod1的最新版本快照。如何在Maven中实现这一点? 但是,这总是解析到发布版本1.0,而从不解析到1.1-快照,它在本地回购中。如何确保使用最新的快照?如果有任何建议,我将不胜感激。
使用公共存储库和 Apache Ant 共享其他项目的源代码 管理项目和工具之间的源代码依赖项往往非常困难,但并不一定总是如此。在这一期“ 让开发自动化”中,自动化专家 Parl Duvall 介绍了如何利用 Apache Ant 项目中的 Ivy 依赖项管理器来处理所有重要 Java 项目必须管理的无数依赖项。 实际上,所有软件开发项目都必须依靠来自其他项目的源代码。例如,许多项目可能依靠 lo
我在我的build.xml中创建了一个taskdef,它依赖于驻留在Ivy导入的jar中的类。 我想了解这是否可能,因为我的构建在开始之前会中断,因为它找不到 taskdef 的类。 这似乎是一个鸡蛋和鸡肉的问题,因为我不能得到这个类,因为我必须首先解决我的依赖关系(这需要构建工作)。
我给ivy添加了一个依赖项(我们称之为a)。在maven central中具有pom文件的xml。Ivy使用ibiblio来解析maven依赖项。添加到常春藤中的依赖项(A)。xml具有可传递依赖项(B)。到目前为止,一切都很好。传递依赖(B)的依赖(C)不能用常春藤来解决。 我在常春藤上定义了一个新的名字。如下所示的xml: 在B的pom文件中,C在编译和测试范围中定义如下: 当我在ivy的缓存
问题内容: iText的最新版本是什么?那么,对Maven的依赖是什么? 问题答案: 您需要注意iText的Java版本的许可证: iText :iText Group NV在&许可下使用groupId; 的最新 正式 版本。 iText :ymasory / InProTopia 的最新 非官方 版本,在&许可下具有groupId; iText 及更高版本:由iText Group NV根据许可
我正在使用pom常春藤任务来生成一个Pom文件,以便发布到伪像。除了一个问题之外,这非常有效。由于命名空间与我们的 Ivy 配置一起使用,因此 pom 文件中的依赖项不是原始的 maven 组 Id/工件 Id,而是命名空间派生的名称。这会导致使用此 pom 的 maven 项目在解析依赖项时失败。 例如: 在 ivy.xml 文件中,我们将具有如下依赖项: ivysettings.xml中有以下