gpt4 book ai didi

gradle - 如何使用gradle复制所有源jar

转载 作者:行者123 更新时间:2023-12-04 04:27:37 25 4
gpt4 key购买 nike

我们有一个旧的playframework 1.2.x版本,我们将所有的jar复制到project/lib,以便playframework可以使用它们。我们也希望复制所有源jar,以便当runnig play eclipsify时,我们可以查看所有第三方源。有没有办法用gradle做到这一点?

我的意思是当我运行gradle eclipse时下载的所有源jar,因为我看到它们下载了缓存位置。我们在一个项目上也有gradle eclipse调用play eclipsify,所以我们可以100%只使用gradle。

谢谢,
院长

最佳答案

这不是预期的那样直接。以下代码片段将Java项目的所有依赖项(运行时+编译)的源jar复制到特定文件夹中:

    task copySourceJars(type:Copy){
def deps = configurations.runtime.incoming.dependencies.collect{ dependency ->
dependency.artifact { artifact ->
artifact.name = dependency.name
artifact.type = 'source'
artifact.extension = 'jar'
artifact.classifier = 'sources'
}
dependency
}
from(configurations.detachedConfiguration(deps as Dependency[]).resolvedConfiguration.lenientConfiguration.getFiles(Specs.SATISFIES_ALL))
into('sourceLibs')
}

我们在这里使用lenientConfiguration的原因是,如果源工件无法解析,我们不想失败。也许有一种更优雅的方式,但我没有对此进行更深入的研究。

希望能帮助到你,

雷内

关于gradle - 如何使用gradle复制所有源jar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16154458/

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