1

我有以下 ant 和 ivy 文件来设置我的项目。我希望常春藤解析文件D:/workspace/lib/apache/log4j/1.2.16/ivy.xml以检索 log4j.jar。

但常春藤解析文件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

4

2 回答 2

6

将以下属性添加到您的 build.xml:

   <property name="ivy.dep.file" value="PATH TO ivy.xml" />
于 2013-01-12T01:28:27.900 回答
0

ivy.xml文件描述了一个工件及其依赖项。

常春藤文件通常在两个位置使用/存在:

  1. 一个存储库(它描述了例如 log4j 工件)
  2. 一个项目(它描述您的项目并将 ivy.xml 列为依赖项)

您已经迈出了第一步并创建了一个本地存储库,您可以使用文件系统解析器来解析它。

现在您需要为您的项目声明一个 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编译
于 2012-07-23T10:11:00.300 回答