包含本地jar作为api依赖的Gradle库未显示在使用者的类路径中

问题描述 投票:0回答:1

在我的gradle java库项目中,我依赖于本地jar文件(工件不会在任何地方发布)。依赖项配置如下:

dependencies {
    api fileTree(dir: '3rdparty', include: '*.jar')
}

[当我将库发布到Maven本地,然后将其从另一个项目中拉出时,即使3rdparty文件夹中的jar中的符号被列为api依赖项,也无法在类路径中使用。这仅仅是在库模块中直接使用jar文件之类的限制吗?

gradle
1个回答
1
投票

这是对文件依赖项的众所周知的限制。 Gradle文档在此清晰可见

文件依赖项不包含在项目的已发布依赖项描述符中。但是,文件依赖关系包含在同一构建中的可传递项目依赖关系中。这意味着它们不能在当前内部版本中使用,但是可以在同一内部版本中使用。

原因很简单,与二进制存储库中托管的工件相比,其他项目无法从外部解决这些依赖关系。在Declaring Dependencies用户指南中阅读有关此主题的更多信息。

© www.soinside.com 2019 - 2024. All rights reserved.