gpt4 book ai didi

gradle - 从gradle的子项目中引用外部项目

转载 作者:行者123 更新时间:2023-12-03 03:33:36 24 4
gpt4 key购买 nike

我有一个类似的项目设置,其中我的项目都相对于彼此位于同级文件夹中:

+ mainApp
+ mylib
+ mylib2

mainApp使用我的settings.gradle中的以下内容引用不在其根目录中的mylib库项目:
include ':app', ':mylib'
project(':mylib').projectDir=new File('..\\mylib')

但是,问题在于mylib项目依赖于另一个库mylib2。我基本上可以做同样的事情,并使用settings.gradle引用mylib2并构建mylib可以正常工作。

问题是当我尝试构建mainApp时,它找不到mylib2,因为未运行子项目的settings.gradle,仅运行了根settings.gradle。因此,当mylib的build.gradle文件引用mylib2时,它将找不到mylib2。

我不想从mainApp添加对mylib2的引用,我希望mylib2由mylib引入。

有没有办法从mylib的build.gradle文件引入mylib2?

最佳答案

您似乎对子项目有错误的理解。
每个“项目树”都有一个rootProject。这个rootProject是唯一应该具有设置的项目。gradle包括所有子项目。因此,如果您的3个项目全部一起记录,则必须将它们全部包含在settings.gradle中。

对其他外国项目的引用应添加为依赖项。请注意,您只能以这种方式引用 Artifact 。

您没有说清楚,但是似乎您想将项目“mylib”用作“mainApp”源代码的库

如果这些是Java项目,则只需将“mylib”产生的jar文件添加到“mainApp”的编译配置中:

apply plugin: 'java'
dependencies {
compile fileTree(dir:'../myLib/build/libs', include : '**/*.jar')
}

对于其他语言,您必须使用该语言的特定语言支持。

关于gradle - 从gradle的子项目中引用外部项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30494629/

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