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

将Gradle与自定义Ivy存储库一起使用

上官和韵
2023-03-14

我是Gradle/Groovy的新手,所以我可能遗漏了一些显而易见的东西。你能帮忙吗?

我们使用Ivy进行依赖管理。我正在试用Gradle,希望与我们现有的常春藤基础设施集成。通常情况下,这应该是可能的,但我们的常春藤的布局有点特别,而且...我不能让它工作。

<dependency org="commons-lang" name="commons-lang" rev="2.4"/>
<dependency org="org.apache" name="commons-lang" rev="2.4" conf="compile"/>

这是因为我们的常春藤在布局时考虑了组织的url,例如:

<ivyrepository>/org/apache/commons-lang/2.4/commons-lang-2.4.jar

我现在试着把这句话翻译成Gradle:

repositories {
    ivy {
        url 'http://svnserver/svn_public/trunk/ivyrepository'
        layout 'pattern', {
            artifact '[organisation]/[module]/[revision]/[artifact]-[revision].[ext]'
            ivy '[organisation]/[module]/[revision]/[module]-[revision].ivy'
        }
    }
}

dependencies {
    compile 'org.apache:commons-lang:2.4'
}

这当然是失败的,因为“[organization]/[module]”转换为“org.apache/commons-lang”,而它应该转换为org/apache/commons-lang!

repositories {
    ivy {
        url 'http://svnserver/svn_public/trunk/ivyrepository'
        layout 'pattern', {
            artifact '[organisation].replaceAll(\'.\',\'/\')/[module]/[revision]/[module]-[revision].jar'
            ivy '[organisation].replaceAll(\'.\',\'/\')/[module]/[revision]/[module]-[revision].ivy'
        }
    }
}

唉,功能不评估!救命啊!

共有1个答案

闾丘博
2023-03-14

要获得组织部分的Maven风格布局,请使用:

repositories {
    ivy {
        url ...
        layout 'pattern', {
            m2compatible = true
            ...
        }
    }
}
 类似资料:
  • 问题内容: 看来Apache ivy仅从http://mvnrepository.com/和其他几个地方下载了工件,但是所有jar都已经过时了。 所以我试图为常春藤添加自定义存储库。我正在使用存储库Ivy RoundUp:http : //code.google.com/p/ivyroundup/ 这是我的配置,但出现错误: build.xml: ivy.xml: ivysettings.xml:

  • 我和常春藤开始了新的生活。 我有一个本地Git Repo,我把罐子存放在那里。我使用Ant进行构建。 在蚂蚁中,我可以将哪个解析器与Git和常春藤一起使用。需要什么设置才能实现此目的。

  • 我最终不得不在文件。定义通常非常繁琐: 注意上面gradle提供了一种定义常用maven存储库的好方法(即)。我想在插件或父gradle脚本中找到一种方法,在函数中或静态地定义存储库,然后在块中调用它:。 我缺乏groovy方面的知识,因此我不太了解解析groovy源代码所需的知识,我正在寻找一种很好的方法来实现这一点。我该怎么做? 我知道在父级gradle文件中,我可以使用或。我不想将这些mav

  • 我正在做一个项目,在这个项目中,我们不使用默认的存储库(Maven Central、jCenter等),而是使用内部JFrog存储库。该项目正在为Gradle使用Kotlin DSL。 问题是,即使在文件中,Gradle仍然试图从Gradle中央插件库获取依赖项 失败消息: 有人知道我做错了什么吗?

  • 在我的项目中有几个实体具有相同的属性(对于示例'name'),所以,有可能创建一个存储库,其中使用自定义的select(实体)?因此,我从JpaRepository扩展了我的存储库,我扩展了MyCustomJpaRepository,MyCustomJpaRepository也扩展了JpaRepository,使其能够从JpaRepository授予基本功能? TKS

  • 问题内容: Jenkins中建立一个托管在bitbucket上的项目时,我将在URL字段中输入什么? 该存储库是私有的。 问题答案: 我对Jenkins并不熟悉,但是Bitbucket允许您通过https克隆git存储库,https可以接受密码作为url的一部分,如下所示: