Gradle 渐变子项目名称与文件夹名称不同

Gradle 渐变子项目名称与文件夹名称不同,gradle,directory,subproject,Gradle,Directory,Subproject,我有几个子项目是多项目构建(平面层次结构)的一部分。我想将它们的名称设置为不同于它们的文件夹名称。但是,在include(setting.gradle)中,它必须具有文件夹名称,否则它将找不到它(对于编译项目(“:ProjectName”)也是如此) 如果我试图设置project.name,它会告诉我它是只读的。原因是我们正在从Ant转换过来,希望EclipseIDE保持相同的名称。就工件而言,我们使用jar.artifactName来设置我们想要的任何名称 谢谢,项目名称只能在设置中更改。gr

我有几个子项目是多项目构建(平面层次结构)的一部分。我想将它们的名称设置为不同于它们的文件夹名称。但是,在include(setting.gradle)中,它必须具有文件夹名称,否则它将找不到它(对于编译项目(“:ProjectName”)也是如此)

如果我试图设置project.name,它会告诉我它是只读的。原因是我们正在从Ant转换过来,希望EclipseIDE保持相同的名称。就工件而言,我们使用jar.artifactName来设置我们想要的任何名称


谢谢,

项目名称只能在
设置中更改。gradle
。例如:

include "foo" // or `includeFlat`, doesn't matter

// always good to nail down the root project name, because
// the root directory name may be different in some envs (e.g. CI)
// hence the following even makes sense for single-project builds
rootProject.name = "bar" 

// change subproject name
project(":foo").name = "foofoo"
或者,您可以在
include
语句中使用所需的项目名称,然后重新配置项目目录:

include "foofoo"

project(":foofoo").projectDir = file("foo")
为了提供一些背景信息,
include
includeFlat
之间的唯一区别在于,它们对项目的
projectDir
使用不同的默认值。否则它们是一样的


有关更多信息,请查看。

中的
设置
,该设置工作正常。非常感谢你。我不得不说,随着我对gradle的了解越来越多,我越来越喜欢gradle。这对gradle的哪个版本有用?我正在使用1.12并获取“带有路径的项目”:在根项目“bar”中找不到“foo”。“
Project(“:foo”)
build.gradle中肯定存在。我还有
Project(“:foo”)之前包含“foo”
。我在1.12上遇到了与Travis相同的问题。一旦您将项目名称更改为
foooo
,它就是
project(“:foooo”)
。我希望有一种方法让它继续使用旧的
:projectOld:project2Old
,但为IntelliJ创建一个不同的模块名称。当您有多个子项目使用相同的名称减去几个字符时,这可以解决这个问题