gpt4 book ai didi

jar - Gradle 中获取 gradle 依赖项缓存中 jar 文件路径的最简洁方法

转载 作者:可可西里 更新时间:2023-11-01 14:07:12 27 4
gpt4 key购买 nike

我正在使用 Gradle 来帮助自动化 Hadoop 任务。调用 Hadoop 时,我需要能够将它传递到我的代码所依赖的一些 jar 的路径,以便 Hadoop 可以在 map/reduce 阶段发送该依赖项。

我找到了一些可行的方法,但感觉很乱,我想知道是否有什么地方缺少某个功能。

这是我的 gradle 脚本的简化版本,它依赖于 solr 3.5.0 jar,以及一个 findSolrJar 任务,它遍历配置中的所有 jar 文件以找到正确的一:

apply plugin: 'groovy'

repositories {
mavenCentral()
}

dependencies {
compile 'org.apache.solr:solr-solrj:3.5.0'
}

task findSolrJar() {
println project.configurations.compile*.toURI().find { URI uri -> new File(uri).name == 'solr-solrj-3.5.0.jar'}
}

运行它给我这样的输出:

gradle findSolrJar                                                                                                                                                                                                                                                           
file:/Users/tnaleid/.gradle/caches/artifacts-8/filestore/org.apache.solr/solr-solrj/3.5.0/jar/74cd28347239b64fcfc8c67c540d7a7179c926de/solr-solrj-3.5.0.jar
:findSolrJar UP-TO-DATE

BUILD SUCCESSFUL

Total time: 2.248 secs

有更好的方法吗?

最佳答案

您的代码可以稍微简化,例如 project.configurations.compile.find { it.name.startsWith("solr-solrj-") }

关于jar - Gradle 中获取 gradle 依赖项缓存中 jar 文件路径的最简洁方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9577929/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com