返回

IntelliJ Idea 中 “Could not find method compileOnly()” 错误的终极解决方案

java

在 IntelliJ Idea 中解决“Could not find method compileOnly()”错误

简介

在 IntelliJ Idea 中构建 Liferay Portlet 服务时,你可能遇到 “Could not find method compileOnly()” 错误。这是因为 Gradle 找不到 compileOnly() 方法。本教程将指导你更新 Gradle 版本并解决此问题。

更新 Gradle 版本

  1. 转到 IntelliJ Idea 中的“文件”>“设置”>“构建、执行、部署”>“Gradle”。
  2. 在“Gradle JDK”下,选择 Gradle 的最新版本(7.0+)。
  3. 单击“应用”和“确定”。

将依赖项更新为“api”

在 Gradle 7.0+ 中,compileOnly() 已弃用。你应将依赖项更新为 api

dependencies {
    api group: "com.liferay", name: "com.liferay.petra.lang", version: "5.2.1"
    api group: "com.liferay", name: "com.liferay.petra.string", version: "5.3.4"
    api group: "com.liferay", name: "com.liferay.portal.aop.api", version: "3.0.5"
    api group: "com.liferay.portal", name: "com.liferay.portal.kernel", version: "13.0.0"
    api group: "org.osgi", name: "org.osgi.annotation.versioning", version: "1.1.2"
    api group: "org.osgi", name: "org.osgi.core", version: "6.0.0"
    api group: "org.osgi", name: "org.osgi.service.component.annotations", version: "1.5.1"
    api group: "com.liferay", name: "com.liferay.osgi.util", version: "8.1.0"
    api group: "javax.portlet", name: "portlet-api", version: "3.0.1"
    api group: "org.slf4j", name: "slf4j-api", version: "1.7.2"
}

同步 Gradle

在 IntelliJ Idea 中,单击“Gradle”工具窗口中的“同步项目”按钮。

重新构建项目

在 IntelliJ Idea 中,单击“构建”>“重新构建项目”。

结论

遵循这些步骤,你应该能够在 IntelliJ Idea 中成功导入 Gradle 依赖项,而不会出现 compileOnly() 错误。

常见问题解答

  1. 为什么需要更新 Gradle 版本?
    答:Gradle 7.0+ 已弃用 compileOnly() 方法。

  2. 什么是 api 依赖项?
    答:api 依赖项是编译时和运行时所需的依赖项。

  3. 如何同步 Gradle?
    答:在 IntelliJ Idea 中,“Gradle”工具窗口中单击“同步项目”按钮。

  4. 为什么需要重新构建项目?
    答:重新构建项目可确保更改反映在构建中。

  5. 如果我仍然遇到错误怎么办?
    答:请查看 IntelliJ Idea 中的“构建”工具窗口中的错误消息,并相应地进行故障排除。