无法为 org.gradle.api.tasks.bundling.Jar 类型的任务 ':idl-parser:sourceJar' 设置未知属性 'classifier'

leo*_*807 12 gradle data-distribution-service

全部。Fast-DDS-Gen我目前正在我的上安装MacOS;但是,安装失败,因为我遇到了以下错误。我该如何解决这个问题?

这是URL官方网站:https://fast-dds.docs.eprosima.com/en/latest/installation/sources/sources_mac.html

以下是官方网站的说明:

brew install gradle

cd ~
git clone --recursive https://github.com/eProsima/Fast-DDS-Gen.git
cd Fast-DDS-Gen
gradle assemble
Run Code Online (Sandbox Code Playgroud)

当我执行命令时gradle assemble,遇到以下错误:

> Task :buildIDLParser FAILED

FAILURE: Build failed with an exception.

* Where:
Build file '/Users/scott/Fast-DDS-Gen/thirdparty/idl-parser/build.gradle' line: 79

* What went wrong:
A problem occurred evaluating project ':idl-parser'.
> Could not set unknown property 'classifier' for task ':idl-parser:sourceJar' of type org.gradle.api.tasks.bundling.Jar.

* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 1s
2 actionable tasks: 2 executed

Run Code Online (Sandbox Code Playgroud)

这是我的gradle信息:

------------------------------------------------------------
Gradle 8.0.2
------------------------------------------------------------

Build time:   2023-03-03 16:41:37 UTC
Revision:     7d6581558e226a580d91d399f7dfb9e3095c2b1d

Kotlin:       1.8.10
Groovy:       3.0.13
Ant:          Apache Ant(TM) version 1.10.11 compiled on July 10 2021
JVM:          19.0.2 (Homebrew 19.0.2)
OS:           Mac OS X 12.3.1 x86_64


Run Code Online (Sandbox Code Playgroud)

de-*_*cup 35

Gradle 8 不再允许classifier内部 Jar 任务。 archiveClassifier必须改为使用。

请参阅https://docs.gradle.org/current/userguide/upgrading_version_7.html

AbstractArchiveTask API 清理

AbstractArchiveTask 任务类型已弃用的appendix、archiveName、archivePath、baseName、 classifier 、desintationDir、extension 和version 属性已被删除。请改用 archiveAppendix、archiveFileName、archiveFile、archiveBaseName、 archiveClassifier、destinationDirectory、archiveExtension 和 archiveVersion 属性。

(在https://docs.gradle.org/current/javadoc/org/gradle/jvm/tasks/Jar.html的官方文档中,archiveClassifier现在只提到了新的属性/属性。)

当您想在该项目中使用 Gradle 8 时,必须更改构建文件以使其与 Gradle 8 兼容。

  • 感谢您的帮助!只需将 gradle 版本降级到 7.6 即可解决该问题 (2认同)