我正在尝试为所有子项目配置存储库。
我有主要的video.setVideoPath(videoPath);
:
build.gradle
在子项目buildscript {
repositories {
mavenLocal()
mavenCentral()
google()
jcenter()
...
}
dependencies {
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
plugins {
id 'base'
}
allprojects {
apply plugin: 'base'
repositories {
mavenLocal()
mavenCentral()
google()
jcentre()
...
}
wrapper{
gradleVersion = '6.5.1'
distributionType = Wrapper.DistributionType.ALL
}
dependencies {
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
中,我只有:
build.gradle
我得到:
...
dependencies {
implementation ....
}
我想在主文件中一次定义Execution failed for task ':compileJava'.
> Could not resolve all files for configuration ':compileClasspath'.
> Cannot resolve external dependency .... because no repositories are defined.
Required by:
project :
,因为这些在子项目中不会更改。
在主项目的repositories
中,我有
settings.gradle
在子项目的rootProject.name = 'main-project-name'
include 'sub-project-name'
中,我有:
settings.gradle
答案 0 :(得分:1)
在Gradle中进行多项目构建可能有多个build.gradle
文件,但只有一个settings.gradle
文件(通常在根项目目录中)。您的第二个settings.gradle
文件定义了仅包含一个项目的第二个设置。您可以通过运行gradle projects
进行检查。只需删除第二个settings.gradle
文件即可解决您的问题。
通常,您可以简单地通过命名各个目录然后调用include
来定义子项目的名称。 rootProject
的名称可以在settings.gradle
内定义,因为目录的名称通常不存储在Git之类的版本控制系统中。开发人员可能会将存储库检出到其他目录,从而使Gradle为根项目使用不同的名称。如果希望子项目的名称与其所在目录的名称不同,请使用include
和所需名称,然后通过project(':foo').projectDir = file('path/to/foo')
更改项目目录。