发布已存在的jar文件

时间:2014-07-23 11:01:49

标签: java xml ant ivy

我在理解出版物如何运作方面遇到了一些问题。我必须将jar文件发布到我的Web存储库,但我发现一些可能是因为我遗漏了一些关于工件和出版物的事实。

这是我发布的三个文件:

在build.xml

<project xmlns:ivy="antlib:org.apache.ivy.ant" name="pubblication"
 default="pubblication" basedir=".">
    <echo>inizio</echo>

    <target name="pubblication" description="--> pubblicare un artifact">
        <ivy:settings file="archivaIvySetting.xml" />
        <ivy:publish resolver="publish-artifact" conf="publicConf" organisation="bbi"
          module="resutil" revision="1.0">
            <artifacts pattern="./[artifact]-[revision].[type]"/>
        </ivy:publish>
    </target>

</project>

的ivy.xml

<ivy-module version="2.0">
    <info organisation="org.apache" module="central"/>
    <configurations>
        <conf name="publicConf" visibility="public" />
    </configurations>
    <publications>
        <artifact name="[organisation]-resutil" ext="jar" conf="publicConf"/>
    </publications>   
</ivy-module>

archivaIvySetting.xml

<?xml version="1.0" encoding="UTF-8"?>
    <ivysettings>
        <property name="archiva-internal" value="http://host.com:8080/repository
        /internal/"/>
        <settings defaultResolver="central">
            <credentials host="host.com" realm="Repository Archiva Managed internal 
             Repository" username="username" passwd="passwd" />
        </settings>
        <resolvers >
            <ibiblio name="central" m2compatible="true" usepoms="true" root="${archiva-
             internal}" />
        </resolvers>
    </ivysettings>

我的问题是,当我进行构建时,ant表示缓存中没有具有该名称的模块。现在的问题是:

1)在模式中,我是否设置了要发布的jar?

2)如果不是我怎么必须这样做:拿着罐子给它信息参数并将它发布在回购中?

我重复该文件已存在,这是一个测试文件。

1 个答案:

答案 0 :(得分:1)

publish任务中的模式应与您在构建中本地创建的模式匹配。此外,常春藤文件的发布部分必须与您尝试上传的文件相匹配。

希望有些例子会有所帮助: