将Archiva repo添加到Ivy

时间:2013-03-20 14:36:15

标签: ivy archiva

我正在尝试添加一个archiva-repo到常春藤buit它不起作用。

以下是使用过的文件:

的ivy.xml

<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="in.ex" module="ivy-example" status="integration">
</info>
<dependencies>
    <dependency org="commons-lang" name="commons-lang" rev="2.6" />
</dependencies>
</ivy-module>

ivysettings.xml

<?xml version="1.0" encoding="UTF-8"?>
<ivysettings>
<settings defaultResolver="archiva" />
<credentials host="http://myarchiva/archiva/" realm="Apache Archiva"
    username="user" passwd="pwd" />
<property name="archiva-internal"
    value="http://myarchiva/archiva/repository/internal" />
<resolvers>
    <ibiblio name="archiva" m2compatible="true" root="${archiva-internal}" />
</resolvers>
</ivysettings>

的build.xml

<project name="ivy example" default="resolve" xmlns:ivy="antlib:org.apache.ivy.ant">

<target name="resolve" description="resolve dependencies with ivy">
    <ivy:settings file="ivysettings.xml" />
    <ivy:retrieve />
</target>

</project>

当我运行ant任务时,会显示以下错误:

module not found: commons-lang#commons-lang;2.6
==== archiva: tried
http://myarchiva/archiva/repository/internal/commons-lang/commons-lang/2.6/commons-lang-2.6.pom
-- artifact commons-lang#commons-lang;2.6!commons-lang.jar:
http://myarchiva/archiva/repository/internal/commons-lang/commons-lang/2.6/commons-lang-2.6.jar

看来,没有找到公地郎但是它仍在那里。当我在浏览器中尝试网址时,我收到了jar。

有人可以帮帮我吗?谢谢!

2 个答案:

答案 0 :(得分:0)

当我运行ant -d时,我看到了一个错误

[ivy:retrieve] CLIENT ERROR: Unauthorized url=http://

我花了很多时间来解决为什么我无法从当地的Archiva那里获得文物。

答案 1 :(得分:-1)

只有您拥有的解析器是您的内部回购。你的回购中没有commons-lang-2.6.jar。最简单的解决方法是添加默认的maven repo。解决你自己的解析器后的解析器

        <ibiblio name="central" m2compatible="true" />

或者您也可以下载并手动添加文件。

更新: 领域的值应该是以下,并且区分大小写

    "Repository Archiva Managed internal Repository"