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

如何定义要从分级文件中的 Azure 工件下载的依赖项?

羊渝
2023-03-14

我已经设置了一个azure工件feed,我可以从azure管道发布到它,并且我可以从我的本地gradle文件/项目连接到feed。然而,不清楚如何实际定义在本地和管道中构建它的依赖关系。我想从azure devops中的这个azure工件位置获取它,这样我就可以在任何地方构建我的项目并拥有依赖关系。例如,如果我想在从mavencentral下载的gradle文件中使用springboot依赖项,我会在依赖项部分使用它

implementation 'org.springframework.boot:spring-boot-starter'

如果不是因为我的依赖关系位于azure工件提要中,我该如何做同样的事情呢?

我的gradle文件的相关部分如下所示

repositories {
    mavenCentral()
    maven {
        url 'https://pkgs.dev.azure.com/<azure-username>/<myproject>_packaging/<my-feed>%40Release/maven/v1'
        name '<my-feed>@Release'
        authentication {
            basic(BasicAuthentication)
        }
    }
}

dependencies {
    implementation 'org.springframework.boot:spring-boot-starter'
    testImplementation 'org.springframework.boot:spring-boot-starter-test'
    implementation 'commons-codec:commons-codec:1.15'
    implementation '<my-feed>:commons:0.0.1'
}

此外,我还添加了此设置。xml文件到~/。m2文件夹。

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
                              https://maven.apache.org/xsd/settings-1.0.0.xsd">
  <servers>
    <server>
      <id><my-feed>@Release</id>
      <username><my username></username>
      <password><my token provided by azure portal></password>
    </server>
  </servers>

然而,当我试着和格雷一起建造时,我得到了

无法解析配置“:compileClasspath”的所有文件。

找不到:Commons:0.0.1。

共有1个答案

李甫
2023-03-14

您需要配置Gradle构建以在Azure工件提要中查找依赖项。

假设提要被设置为Maven存储库,您可以将提要添加到存储库部分:

https://docs.gradle.org/current/userguide/declaring_repositories.html

repositories { 
    maven { 
        url 'https://pkgs.dev.azure.com/{OrganizationName}/{ProjectName}/_packaging/{FeedName}/maven/v1' 
    } 
}

如果提要需要凭证,那么您也需要进行配置:https://docs . grad le . org/current/user guide/declaring _ repositories . html # sec:handling _ credentials

上面的 URL 格式摘自有关如何发布到源的指南:https://docs.microsoft.com/en-us/azure/devops/pipelines/artifacts/publish-package-gradle?view=azure-devops

 类似资料:
  • 我想从GitHub的私有存储库下载,所以我需要传递头和。 例如,使用curl:

  • 在Java中开发Gradle插件所需要的确切依赖是什么?理想情况下,我希望从一个著名的存储库(如Maven Central或类似的存储库)获取它。 我有一个具有核心功能的Maven项目,我刚刚添加了两个额外的插件,一个用于Ant,一个用于Maven。它们已经经过测试并正在工作;放轻松!现在,我想为Gradle插件添加第三个模块,以使该功能也可从任何Gradle项目中获得。 null 如果有人能告诉

  • 我使用的是Jetty 9.2。我有一个依赖项JAR,目前我将它放在“lib/ext/”文件夹中,因此它会自动加载。我还尝试在Jetty的“start.bat”中使用“-lib=%EXT_JAR PATH%”。这将在启动时加载JAR。是否可以将JAR保存在自定义文件夹中,并使其在启动类加载器上自动加载,而无需在“start.bat”文件中指定? 提前谢谢。

  • 我们正在将 Azure 开发运维用于我们的 CI/CD 流程。很多时候,为了进行一些自定义构建,我们需要从工件存储库下载特定的通用捆绑包。 有没有API可以做同样的事情? 同样,问题是关于使用API或python sdk下载特定版本的通用工件。 类似于下面的问题 Azure 项目 - 下载特定版本的 maven 项目

  • 我有一个gradle构建,它依赖于一个在buildSrc目录中编译的插件(MyTools)。这部分工作正常。我遇到的问题是试图从外部jar导入一个类以在myTools插件的源代码中使用。 我的目录结构如下: buildsrc ----build.gradle -----build.gradle -----settings.gradle -------libs -------Yuicompresso

  • 问题内容: 我正在尝试使用setRequestProperty(“ Range”,“ bytes =” + startbytes +“-” + endbytes);给定下载URL来下载文件的一部分。以下代码片段显示了我要执行的操作。 问题是,正在引发一个异常,该异常表示“建立连接后无法设置请求属性”。请帮助我解决此问题。 问题答案: 假设您正在使用HTTP进行下载,则需要使用HEAD http动词