当前位置: 首页 > 知识库问答 >
问题:

将龙目岛添加到Intellij中的Gradle项目中

姜淇
2023-03-14

Gradle新手。如果这是一个糟糕的问题,我道歉。

我一直在尝试启动一个普通的Java8 Gradle项目。一切都很好,直到我尝试将龙目加入我的项目。

我的Intellij IDE具有龙目所需的所有设置。

  1. Lombok插件已安装并激活

IDE完美地处理了注释。没有显示错误,样板显示在代码结构中。

然而,当我试图使用Intellij构建项目或运行main方法时,编译器抱怨说Lombok应该生成的样板文件不存在。

环境

186590cf4989:JokerJava$ gradlew --version

------------------------------------------------------------
Gradle 5.2.1
------------------------------------------------------------

Build time:   2019-02-08 19:00:10 UTC
Revision:     f02764e074c32ee8851a4e1877dd1fea8ffb7183

Kotlin DSL:   1.1.3
Kotlin:       1.3.20
Groovy:       2.5.4
Ant:          Apache Ant(TM) version 1.9.13 compiled on July 10 2018
JVM:          11.0.5 (Oracle Corporation 11.0.5+10-LTS)
OS:           Mac OS X 10.14.6 x86_64

以下是一些错误消息:

8:23:21 PM: Executing task 'build'...

> Task :generateLombokConfig UP-TO-DATE

> Task :compileJava FAILED
2 actionable tasks: 1 executed, 1 up-to-date
warning: You aren't using a compiler supported by lombok, so lombok will not work and has been disabled.
  Your processor is: org.gradle.api.internal.tasks.compile.processing.IncrementalProcessingEnvironment
  Lombok supports: sun/apple javac 1.6, ECJ
workspace/tank/JokerJava/src/main/java/tictactoe/game/gui/TicTacToeButton.java:11: error: variable index not initialized in the default constructor
    private final int index;
                      ^
workspace/tank/JokerJava/src/main/java/tictactoe/game/TicTacToe.java:42: error: constructor TicTacToeButton in class TicTacToeButton cannot be applied to given types;
            buttons[i] = new TicTacToeButton(i);
                         ^
  required: no arguments
  found: int
  reason: actual and formal argument lists differ in length
/workspace/tank/JokerJava/src/main/java/tictactoe/game/TicTacToe.java:70: error: cannot find symbol
            int index = buttonClicked.getIndex();
                                     ^
  symbol:   method getIndex()
  location: variable buttonClicked of type TicTacToeButton
/workspace/tank/JokerJava/src/main/java/tictactoe/game/TicTacToe.java:86: error: cannot find symbol
            update(opponentAction.getPlayer(), opponentAction.getIndex());
                                 ^
  symbol:   method getPlayer()
  location: variable opponentAction of type UserAction
/workspace/tank/JokerJava/src/main/java/tictactoe/game/TicTacToe.java:86: error: cannot find symbol
            update(opponentAction.getPlayer(), opponentAction.getIndex());
                                                             ^
  symbol:   method getIndex()
  location: variable opponentAction of type UserAction
Note: /workspace/tank/JokerJava/src/main/java/Client.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
5 errors
1 warning

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':compileJava'.
> Compilation failed; see the compiler error output for details.

* 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
8:23:22 PM: Task execution finished 'build'.

请参阅下面的build.gradle配置

plugins {
    id 'java'
    id "io.freefair.lombok" version "5.0.0-rc2"
}

group 'org.example'
version '1.0-SNAPSHOT'

sourceCompatibility = 1.8

repositories {
    mavenCentral()
}

dependencies {
    testCompile group: 'junit', name: 'junit', version: '4.12'
}

共有1个答案

包承望
2023-03-14

即使您不想使用Spring,请前往https://start.spring.io/的Spring初始化程序,选择Gradle并添加Lombok依赖项。它会在适当的配置(包括注释处理器)中为您创建Lombokbuild.gradle

 类似资料:
  • 我在gradle项目中使用lombok,希望创建一个jar文件,但每次我执行jar任务(无论是在控制台还是eclipse ide中触发)时,我都会发现错误,我的lombok导入在我使用lombok注释的类中找不到。输出示例: 搜索了一段时间后,我发现有一个适用于gradle和lombok的插件,但在使用较新的gradle版本编译时并不真正需要。我的gradle版本是3.4.1和lombok 1.6

  • 我在Intellij遇到了一个奇怪的问题。我正在使用Lombok(1.18.2)、IntelliJ(2018.2.2)和JUnit 5在gradle 4多模块项目中。 我花了好几个小时来复制这个。 > 运行所有具有覆盖率测试用例。 移除龙目镜并在此之后生成吸气剂和定型剂也没有效果。 尝试了一切来解决这个问题(启用注释处理器、Lombok插件、清理构建),但没有成功。 编辑1: Root build

  • 问题内容: 我收到此错误 %gradle build [ant:javac] Hello.java:2:错误:包javax.persistence不存在Hello.java:2:导入javax.persistence。*; 我应该添加到gradle.build包括什么 /opt/glassfish3/glassfish/modules/javax.persistence.jar 谢谢 问题答案:

  • 从这篇文章(向IntelliJ项目添加Gradle支持的最佳方式)中,我可以看到我需要做的是“在项目的根目录中添加build.Gradle” 我希望有人能解释一下我是怎么用intelliJ做的?(一直在搜索和阅读——仍然困惑不解)。 我理解一个根目录文件夹是所有项目源的父文件夹,但在intelliJ的标准JavaFX项目中,它是什么/我如何找到它/分配它,然后我如何添加build.gradle?

  • 我是gradle的新手,我现有的大多数项目都在ant(netbeans项目)中。 我必须为我想重用的每个项目创建gradle项目吗? 我可以在gradle项目中直接声明现有的netbean项目为依赖项吗?如果是,如何? 谢谢。

  • 我正在Ubuntu上使用IntelliJ IDEA。我将Lombok.jar添加到我的项目中,并为IDEA安装了Lombok插件。我可以访问注释,但和没有生成。如果我尝试访问一个不存在的getter或setter方法,我会得到相同的错误。我会错过什么?