Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Gradle库包括本地jar作为api依赖项';不会出现在消费者';s类路径_Gradle - Fatal编程技术网

Gradle库包括本地jar作为api依赖项';不会出现在消费者';s类路径

Gradle库包括本地jar作为api依赖项';不会出现在消费者';s类路径,gradle,Gradle,在我的GradleJava库项目中,我依赖于一个本地jar文件(工件不会在任何地方发布)。依赖项配置如下所示: dependencies { api fileTree(dir: '3rdparty', include: '*.jar') } 当我将我的库发布到maven local,然后从另一个项目中将其拉入时,第三方文件夹中jar中的符号在类路径中不可用,即使它作为api依赖项列出。这只是在库模块中直接使用jar文件的限制吗?这是众所周知的文件依赖性限制。Gradle的文档对此很清楚

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

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

当我将我的库发布到maven local,然后从另一个项目中将其拉入时,第三方文件夹中jar中的符号在类路径中不可用,即使它作为api依赖项列出。这只是在库模块中直接使用jar文件的限制吗?

这是众所周知的文件依赖性限制。Gradle的文档对此很清楚

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


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

谢谢,我也这么想了,但是我没有在上面的文档中找到正确的位置。