在我的 settings.gradle 文件中,我最初有这个工作
include 'server', 'webapp'
我把它修改成这个,它就坏了
include 'server', 'webapp'
modifyProjectNames(rootProject, "sdi-")
def modifyProjectNames(project, prefix) {
project.children.each {
it.name = prefix + it.name
}
}
它说“在根项目'SDI'中找不到路径':webapp'的项目”,所以我将文件修改为此
include 'master', 'sdi-webapp'
modifyProjectNames(rootProject, "sdi-")
def modifyProjectNames(project, prefix) {
project.children.each {
it.name = prefix + it.name
}
}
我得到了同样的失败,但我在 settings.gradle 中没有 :webapp 所以它必须是我的主要 gradle 构建文件所以我现在也将该项目重命名为 :sdi-webapp 所以现在错误稍微更改为
Project with path ':sdi-webapp' could not be found in root project 'SDI'.
我有一个像这样的项目结构
SDI - 服务器 - webapp
我希望所有项目名称都是 sdi-server 和 sdi-webapp 等。但我希望调用目录
/SDI/server instead of /SDI/sdiserver
/SDI/webapp instead of /SDI/sdiwebapp
IE。在那里多余是没有意义的。
编辑
我在另一个项目上尝试了第一个答案,就像这样
include 'master', 'toneserver','webserver'
modifyProjectNames(rootProject, "sdi-")
def modifyProjectNames(project, prefix) {
project.children.each {
it.name = prefix + it.name
}
}
rootProject.children.each {proj ->
proj.projectDir = file(proj.name - "sdi-")
}
它只是失败了
Project with path ':toneserver' could not be found in root project 'stserver'
如果你浏览你的 build.gradle 文件并修改每个引用以也有前缀,这有点工作,这会破坏试图不重复自己的编程规则 :( :( 所以如果我想修改前缀,我必须做一个丑陋的查找和替换:(...ick。但它确实有效。
谢谢,院长