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

Gradle Artifactory依赖关系:快照模式问题

沈国安
2023-03-14

我很难从Gradle构建中找出如何解决Artifactory中远程工件的依赖关系。

http://192.168.2.130:8081/artifactory/simple/libs-snapshot-local/com/company/test/1.0-SNAPSHOT/TestArtifact-1.0-20130607.104006-2.apklib
buildscript {
    repositories {
        maven {
            url "http://192.168.2.130:8081/artifactory/gradle"

            credentials {
                username = "$artifactory_user"
                password = "$artifactory_password"
            }
        }

        dependencies {
            classpath 'com.android.tools.build:gradle:0.4.2'
            classpath(group: 'org.jfrog.buildinfo', name: 'build-info-extractor-gradle', version: '2.0.12', changing: true)
        }
    }
}

allprojects {
    apply plugin: 'idea'
    apply plugin: 'android'
    apply plugin: 'artifactory'
}

repositories {
    maven {

        url "http://192.168.2.130:8081/artifactory"

        credentials {
            username = "$artifactory_user"
            password = "$artifactory_password"
        }
    }
}

artifactory {
    contextUrl = 'http://192.168.2.130:8081/artifactory/simple'

    resolve {
        repository {
            repoKey = 'libs-snapshot'
            maven = true
        }
    }
}

文件集成修订正则表达式:快照(?:(?:[0-9]{8}.[0-9]{6})-(?:[0-9]+))

因此,根据我的理解,Gradle应该通过查看以下内容来解决依赖关系:

http://192.168.2.130:8081/artifactory/simple/libs-snapshot/com/company/test/TestArtifact/1.0-SNAPSHOT/TestArtifact-1.0-xxxxxxxx.xxxxxx-x.apklib

但它实际上是在看:

http://192.168.2.130:8081/artifactory/com/company/test/TestArtifact/1.0/TestArtifact-1.0.apklib
compile(group: 'com.company.test', name: 'TestArtifact', version: '1.0-20130607.104006-2', ext: 'apklib')

提前感谢!

共有1个答案

浦修文
2023-03-14

我意识到这是一个温和的回答,但我们使用gradle在Artifactory中解析工件,我们指定的所有内容如下:

repositories {
    mavenLocal()
    maven {
        url "http://repo1:8081/artifactory/repo"
    }
}

这是一个非常完全不同的配置结构,考虑到它有本质上相同的细节。也许值得一试。

 类似资料:
  • 我想下载使用ivy的工件:解决,但使用使用[conf]属性的模式。所以我在IvyS中定义了以下内容ettings.xml 注意这个模式 现在可以很好地解决依赖关系,但只为配置创建了一个文件夹:默认。没有为ConfGroup1创建文件夹 另外,我知道这可以通过使用ivy:retrieve实现,但我不想使用它,因为它将涉及将工件从ivy缓存复制到ivy:resolve之后的另一个地方,我有价值数十亿字

  • 编写的PHP扩展需要需要依赖另外一个扩展,在PHP-X中可以调用Extension->require来实现。 PHPX_EXTENSION() { Extension *ext = new Extension("test", "0.0.1"); ext->require("swoole"); ext->require("sockets"); return ext;

  • 依赖关系 这是一个非常轻量级的模块,没有其他依赖项。希望大家在JVM或Android上使用以太坊的RLP编码的项目时会选择使用这个模块,而不再编写自己的实现。

  • 依赖关系 ABI一个非常轻量级的模块,唯一的第三方依赖是 Bouncy Castle,用于hash加密 (Spongy Castle on Android)。 最后希望java和安卓开发者,在JVM或Android上有以太坊ABI合作的项目时会选择使用这个模块,而不是再编写自己的实现。

  • 我一直在设置一个Apache Archiva实例,作为Maven Central的代理和捕获我们的开发快照。我已经设法设置了代理,我可以将工件部署到Archiva快照存储库,但是我不能从快照存储库中提取工件以用于其他项目。 pom.xml相关部分(附属项目) 我的~/。m2/设置。xml 当我构建依赖项目时,我不能引用类(公共访问)。 只是要注意,我可以浏览快照存储库,我知道war文件在那里。 有

  • 问题内容: 我有一个依赖关系如下: 当我部署一切正常时,这将拉下另一个引发ClassDefNotFound的依赖项。 我添加了两个依赖项,如下所示: 并且仍然面临着同样的问题,即:MVN带来下来不 我该如何解决? 编辑: 添加; 问题答案: 您可能有一个传递依赖项,另一个依赖项取决于您不需要的版本。 要获得所有直接和传递依赖关系的概述,请尝试: mvn依赖项:树 如果您发现同一依赖项的不同版本之间