gpt4 book ai didi

gradle - 引用静态库目录 gradle 时构建期间的问题

转载 作者:行者123 更新时间:2023-12-03 05:15:45 26 4
gpt4 key购买 nike

我使用了一个 build.gradle 文件,它需要引用一些在公共(public)存储库和内部存储库中都不可用的 jar 文件。

因此,我将 jar 文件放入我的 Eclipse 项目下方的 lib 目录中:

dependencies {
...
compile files('lib/*.jar')
}

只要我从 Eclipse 中运行或导出我的程序,它就可以正常工作。但是当我尝试 gradle build gradle 失败并出现此错误:

Could not normalize path for file 'C:\Workspaces\MyProject\project\lib\*.jar'.



我将路径更改为 lib\*.jar ,添加了前导 ./ , 删除了 \*.jar但无济于事。

当我删除 compile files从依赖项中提取行并将其添加到存储库中
repositories {
...
flatDir { dirs './lib' }
}

编译器提示 error: cannot find symbol ,并且所有这些符号都在从 lib 目录引用的 jar 中。
当我运行 gradle --debug我可以从日志中看到 flatDir 引用的目录正在被搜索:
10:02:20.587 [DEBUG] [org.gradle.api.internal.artifacts.repositories.resolver.ResourceVersionLister] using org.gradle.internal.resource.transport.file.FileResourceConnector@48499739 to list all in /C:/...../lib/ 
10:02:20.592 [DEBUG] [org.gradle.api.internal.artifacts.repositories.resolver.ResourceVersionLister] found 7 urls

7 是 lib 目录中的文件数。

为什么这在 Eclipse(带有 gradle 工具的 STS 3.7)中而不是在命令行中有效?我尝试了 gradle 2.2.1 和 2.5。

最佳答案

您需要使用 FileTree 而不是 FileCollection:

compile fileTree(dir:'lib', include:'*.jar')

eclipse 的行为与你的 gradle 不同的原因很可能是因为你没有运行 gradle eclipse (由 eclipse 插件添加的任务)。
Eclipse 根本不会自然地与您的 build.gradle 交互。 eclipse 任务将您的 eclipse 更新为与 gradle 同步。

关于gradle - 引用静态库目录 gradle 时构建期间的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31311386/

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