当前位置: 首页 > 知识库问答 >
问题:

Ivy中模块的多个工件

姬捷
2023-03-14

我想通过ivy将jar检索到特定的文件夹(如lib ),下面是我在build.xml中的检索定义:

<ivy:retrieve pattern="lib/[artifact].[ext]" conf="webInfLib" />

还有我的常春藤的定义。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"
       xmlns:m="http://ant.apache.org/ivy/maven">
    <info organisation="xxxx" module="xxxx" status="integration"/>
    <configurations>
        <conf name="webInfLib"  description="add jar to web-inf/lib folder"/>
    </configurations>
    <dependencies>
        <dependency org="org.springframework" name="spring-beans" rev="2.5.5" transitive="false" conf="webInfLib -> default"/>
        <dependency org="net.sf.json-lib" name="json-lib" rev="2.3"> 
            <artifact name="json-lib" type="jar" m:classifier="jdk15"/>
        </dependency>
    </dependencies>
</ivy-module>

但它总是抛出:

impossible to ivy retrieve: java.lang.RuntimeException: Multiple artifacts of the module xxxxxx are retrieved to the same file! Update the retrieve pattern  to fix this error.

我读过一些类似的问题,以及他们建议将检索模式更改为更复杂的模式。我尝试了类似“[artifact]-revision.[ext]”的方法,但没有帮助。当我执行“ivy.resolve”时,效果很好。关于这个问题有什么建议吗?

共有1个答案

东方琪
2023-03-14

检索模式是正确的问题。你正在尝试

[artifact]-[revision].ext

所以我可以想象二进制jar和源jar都会被写在同一个位置,用于任意依赖。但是如果你给你的案例添加了一些独特的东西

[artifact]-[revision](-[classifier]).[ext]

对于源或文档,分类器将具有值,因此将具有不同的名称。在没有分类器的情况下(如二进制编译的jar的情况),将没有任何分类器,这由括号( ) 处理

 类似资料:
  • 问题内容: 我正在使用ANT将我的东西部署到Tomcat。但是我在缺少依赖项方面遇到了麻烦,我想添加Ivy,因为它被推荐了。 现在,我将其添加到build.xml文件中: 这是我的ivy.xml: 这是我的日志: 这是错误: 看来错误来自这种模式?: 但这对我来说似乎很牢固。 有什么建议? 问题答案: 您必须扩展您的模式以包括类型,以便每个工件都可以拥有自己的本地文件: 或者,如果您不需要源代码和

  • 我在Sonarqube有一个多模块项目。到目前为止,其中一个模块还没有进行任何单元测试。现在我在这个模块中添加了一个单元测试,项目的总体覆盖范围就减少了!是否意味着当一个模块没有测试时,它根本不包括在全局覆盖计算中?

  • 在我的Android应用程序项目中,我试图避免在我的项目中引用一个外部Maven库,否则我会从那里加载多个。组成一个SDK的aar工件。 相反,我想将 .aar 文件放入我的项目中,然后从我的一个 Gradle Android 库模块中引用它们。 我已经尝试了不同的方法——但都不管用。 灵感来自 https://stackoverflow.com/a/72672032/35689 在这里,我的工件

  • 问题内容: 我是整个浏览器新手。我一直在尝试使用browserify + reactify + gulp来转换,缩小和组合一个React应用程序。只要我有一个单身,一切正常。由于我有多个共享组件,因此我实际上是托管在同一文件中并在项目中重复使用,因此我想导出多个组件。我试过一个数组: 并且还尝试了具有多个属性的对象: 并且还尝试对对象中的调用进行内联,但这无济于事。 有没有办法做到这一点,还是我必

  • 我正在尝试创建一个导出多个ES6类的模块。假设我有以下目录结构: 和每个导出一个默认ES6类: 我目前有我的设置如下: 但是,我无法导入。我希望能够这样做,但找不到类: 在ES6模块中导出多个类的正确方法是什么?