IVY 错误:找不到 ivy.xml 文件
Posted
技术标签:
【中文标题】IVY 错误:找不到 ivy.xml 文件【英文标题】:IVY Error: can't find the ivy.xml file 【发布时间】:2012-07-19 08:08:00 【问题描述】:我有以下 ant 和 ivy 文件来设置我的项目。我想让 ivy 解析文件D:/workspace/lib/apache/log4j/1.2.16/ivy.xml
以检索 log4j.jar。
但 Ivy 会解析文件 D:/workspace/BuildStudy/ivy.xml
。而且我没有D:/workspace/BuildStudy/ivy.xml file
。有人知道我的 ant 和 ivy 设置文件有什么问题吗?谢谢。
build.xml 文件包含:
<project name="BuildStudy" default="main" xmlns:ivy="antlib:org.apache.ivy.ant">
<target name="resolve" description="--> retrieve dependencies with ivy">
<ivy:retrieve/>
</target>
</project>
ivysetting.xml 文件包含:
<ivysettings>
<properties file="D:/workspace/BuildStudy/ivysettings-file.properties" />
<caches defaultCacheDir="$cache.dir" />
<property name="base.dir" value="D:/workspace/lib"/>
<settings defaultResolver="CRMlocal"/>
<resolvers>
<filesystem name="CRMlocal">
<ivy pattern="$base.dir/[organisation]/[module]/[revision]/ivy.xml"/>
<artifact pattern="$base.dir/[organisation]/[module]/[revision]/[artifact].[ext]"/>
<artifact pattern="$base.dir/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]"/>
</filesystem>
</resolvers>
</ivysettings>
ivysettings-file.properties 文件包含: cache.dir=D:/workspace/BuildStudy/.ivy_cache
【问题讨论】:
log4j.jar 在哪里?在 D:/workspace/lib/apache/log4j/1.2.16/?所以 D:/workspace/lib/ 是您的存储库。要从存储库中检索某些内容,您的项目需要另一个 ivy.xml。 我在 D:/workspace/lib/apache/log4j/1.2.16/ 中有 log4j.jar 及其 ivy.xml 文件。你的意思是我应该在 D:/workspace/lib/ 中有一个 ivy.xml 文件吗? ivy.xml 文件是:将以下属性添加到您的 build.xml:
<property name="ivy.dep.file" value="PATH TO ivy.xml" />
【讨论】:
【参考方案2】:ivy.xml 文件描述工件及其依赖项。
常春藤文件通常在两个位置使用/存在:
-
一个存储库(它描述了例如 log4j 工件)
一个项目(其中描述了您的项目并将 ivy.xml 列为依赖项)
您已经迈出了第一步并创建了一个本地存储库,您使用文件系统解析器resolve。
现在您需要为您的项目声明一个 ivy.xml,例如:
<?xml version="1.0" encoding="UTF-8"?>
<ivy-module version="2.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation=
"http://ant.apache.org/ivy/schemas/ivy.xsd">
<info organisation="myorg" module="BuildStudy"/>
<configurations>
<conf name="compile" visibility="public" />
</configurations>
<publications>
<artifact name="BuildStudy" type="jar" conf="compile" ext="jar"/>
</publications>
<dependencies>>
<dependency org="log4j" name="log4j" rev="1.2.14" conf="compile->*"/>
</ivy-module>
这将使用以下详细信息描述您的项目:
此项目将构建并提供工件 BuildStudy.jar 本项目需要log4j编译【讨论】:
您的回答帮助了我。谢谢!以上是关于IVY 错误:找不到 ivy.xml 文件的主要内容,如果未能解决你的问题,请参考以下文章