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

构建脚本中的gradle.properties值

朱锦
2023-03-14

我试图在Java项目的Gradle构建脚本中包含类路径依赖项。我有gradle。属性文件,其中列出了两个变量:nexusUsernamenexusPassword。这两种方法在项目根存储库中的使用方式与下面buildscript存储库中的使用方式相同,并且工作正常——加载依赖项。

但是,在如下配置buildscript时:

buildscript {
    repositories {
        maven {
            credentials {
                username nexusUsername
                password nexusPassword
            }
            url 'https://edited'
        }
    }
    dependencies {
        classpath 'edited'
    }
}

我会遇到这样的错误:

Could not GET 'https://edited.pom'. Received status code 403 from server: Forbidden

通过身份验证访问浏览器提供的URL。

到目前为止,据我所知,构建脚本在构建的一开始就进行了评估,因此,属性可能还没有加载?如果这是真的,如何加载它们?

共有2个答案

章昆琦
2023-03-14

显然,这个问题是在gradle中的密码末尾意外添加了额外的符号。运行之间的属性。很好。

宰父疏珂
2023-03-14

解决方法如果你想使用替代属性文件,如local.properties,gradle-local.properties:1)在项目rootdir中,添加新文件“add-custom-properties.gradle”:

Properties props = new Properties()
props.load(new FileInputStream("$rootDir/gradle-local.properties"))
props.each { prop ->
    ext.set(prop.key, prop.value)
}

如果需要,可以向上一个脚本添加逻辑2º)编辑/创建您的gradle local。属性

repoUrl=https://a-url...
repoUser=a-user
repoPass=a-pass

3)在build.gradle,settings.xml,...(内部构建脚本{...}):

buildscript {
    apply from: "$rootDir/add-custom-properties.gradle"
    repositories {
        maven {
            url = "${repoUrl}"
            credentials {
                username = "${repoUser}"
                password = "${repoPass}"
            }
        }
    }
 类似资料:
  • Gradle 的构建脚本展示了 Groovy 的所有能力. 作为开胃菜, 来看看这个: 例子 6.4. 在 Gradle 任务里使用 Groovy build.gradle task upper << { String someString = 'mY_nAmE' println "Original: " + someString println "Upper case:

  • 主要内容:Gradle如何使用Groovy,Groovy的JDK方法,以下是纠正/补充内容:Gradle构建脚本文件用来处理两件事情:一个是项目和另一个的任务。每个生成表示一个或多个项目。一个项目表示一个JAR库或Web应用程序,也可能表示由其他项目产生的JAR文件组装的ZIP。简单地说,一个项目是由不同的任务组成。一个任务是指构建执行的一块工作。任务可能是编译一些类,创建一个,产生的或发布一些归档文件库。 注:Gradle使用Groovy语言编写脚本。 Gradle提供了一个域特定语言

  • 当 Gradle 执行一个脚本时,它会将这个脚本编译为实现了 Script 的类. 也就是说所有的属性和方法都是在 Script 接口中声明的,由于你的脚本实现了 Script 接口,所以你可以在自己的脚本中使用它们.

  • 这一章主要讲解以下内容 Projects 和 tasks Hello world 快捷的任务定义 构建脚本代码 任务依赖 动态任务 使用已经存在的任务 快捷注释 附加的 task 属性 使用 Ant 任务 使用方法 默认的任务 通过 DAG 配置

  • 在第三章,我们在Gradle核心插件的帮助下构建了一个Java Web项目,我们了解到这些插件都是可以自定义来适应自己的非标准化的构建需求、给你的项目添加可执行的构建逻辑来配置tasks。 在这一章,我们来学习Gradle构建的基本构建块(blocks),比如项目和任务,以及他们是如何对应到Gradle API的类中,通过这些类的方法你可以获得一些属性来控制构建过程,你也将学习到如何使用属性来控制

  • 创建一致、可重复、可维护的构建 您把多少时间花在维护项目构建脚本上?也许远远超出您预期的或者可以忍受的时间。其实大可不必遭受如此痛苦的经历。在这一期的让开发自动化 中,开发自动化专家 Paul Duvall 将演示如何改进很多常见的妨碍团队创建一致的、可重复的、可维护的构建的实践。 当描述代码之类的东西时,我不喜欢 “气味(smell)”这个词。因为用拟人的手法来谈论比特和字节往往令人觉得很怪异。