java - 设置多项目/复合构建时的 Gradle 错误
问题描述
我正在尝试为我正在处理的 kotlin 项目设置一个多项目/复合 gradle 构建,并且遇到了一些错误。我的 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)
我不确定如何让我的项目保持独立,同时将它们组合在一起以共享依赖项和编译。我将如何解决这个问题?
解决方案
推荐阅读
- json - 将超类 json 反序列化为子类对象
- css - 为什么在 CSS 样式中按钮和链接的样式相同但类型呈现不同?
- jmeter - 使用 jmeter 对 100 个新用户同时订购产品进行自动化负载测试
- vue.js - IE11 SCRIPT1002 语法错误与 main.js babel 和 webpack 中的 =>
- sql-server - 如果求和值全部为 null,如何使 SQL Server SUM 返回 null
- r - ggplot() 没有预期的数字
- python-3.x - 是否可以从 PySpark Dataframe 轻松创建 Kudu 表?
- java - 如何在 Java 中运行具有策略权限的小程序以读取 MAC 地址
- javascript - 完整日历,当前月份有效
- google-tag-manager - 产品视图数据层 - 为什么它有一个列表视图?