Я пытаюсь настроить многопроектную / составную сборку gradle для проекта kotlin, над которым я работаю, и у меня возникают некоторые ошибки.У меня есть это в моем файле settings.gradle:
def projects = [
'shared-library'
]
for (String relativeProject : projects) {
File file = new File(settingsDir, "../$relativeProject")
if (file.exists()) {
include(relativeProject)
project(":$relativeProject").projectDir = new File(settingsDir, "../$relativeProject")
}
}
При сборке проекта я получаю эту ошибку:
org.gradle.api.ProjectConfigurationException: A problem occurred configuring project ':shared-library'.
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: org.gradle.internal.exceptions.LocationAwareException: Build file '/home/stormblessed/Soft/ApiGateway/build.gradle' line: 3
Error resolving plugin [id: 'org.jetbrains.kotlin.jvm', version: '1.3.21']
Caused by: org.gradle.api.GradleException: Error resolving plugin [id: 'org.jetbrains.kotlin.jvm', version: '1.3.21']
at org.gradle.plugin.use.internal.DefaultPluginRequestApplicator.resolveToFoundResult(DefaultPluginRequestApplicator.java:256)
... 135 more
Caused by: org.gradle.plugin.management.internal.InvalidPluginRequestException: Plugin request for plugin already on the classpath must not include a version
Что странно, что у меня точно такая же настройка дляJava-проект и плагин java не имеют версии, связанной с ним, так что, возможно, что-то с этим связано, не сбой для java-проектов.
Я прочитал проблему github, описывающую мою проблему, и в предложении было предложеноиспользуйте includeBuild
вместо include
, и это сработало, за исключением того, что теперь я получаю новую ошибку:
org.gradle.api.GradleScriptException: A problem occurred evaluating settings 'api-gateway'.
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
Caused by: org.gradle.api.UnknownProjectException: Project with path ':shared-library' could not be found.
at jdk.internal.reflect.GeneratedMethodAccessor426.invoke(Unknown Source)
at settings_eft3sns2cik3i85f9zhag0eho.run(/home/stormblessed/Soft/Personal/api-gateway/settings.gradle:13)
Я не совсем уверен, как сохранить мои проекты независимыми, а также группировать их для совместного использования зависимостей исборник.Как мне решить эту проблему?