Intellij Idea Lombok。 @Data等不起作用

时间:2016-11-08 16:55:06

标签: java maven intellij-idea lombok

我正在尝试在IntelliJ Idea 2016.2.5 Maven项目中使用Lombok。我已经为IntelliJ安装了Lombok插件(v.0.13.16)并添加了依赖do pom.xml。

然而,它仍然无效。我创建了一个示例类来检查是否制作了Getters和Setter等,但它们不是:( 我试图添加一个Maven Lombok插件,但它也没有用。

我发布了Intellij的截图,显示了我的问题。其他一切正常,所以我没有任何错误日志等。

enter image description here

有人知道这是什么问题吗?

我的插件配置:

<plugin>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok-maven-plugin</artifactId>
    <version>1.16.10.0</version>
    <executions>
      <execution>
        <id>delombok</id>
        <phase>generate-sources</phase>
        <goals>
          <goal>delombok</goal>
        </goals>
        <configuration>
          <addOutputDirectory>false</addOutputDirectory>
          <sourceDirectory>src/main/java</sourceDirectory>
        </configuration>
      </execution>
    </executions>
  </plugin>

尝试运行delombok后,我发错了

[ERROR] Failed to execute goal org.projectlombok:lombok-maven-plugin:1.16.10.0:testDelombok (default-cli) on project Projekt9: The parameters 'encoding' for goal org.projectlombok:lombok-maven-plugin:1.16.10.0:testDelombok are missing or invalid -> [Help 1]

@Edit

问题解决了。只需要在所有内容之后重新启动IDEA:)

2 个答案:

答案 0 :(得分:0)

我认为你错过了重要的注释: @Getter @Setter

他们应该高于你的班级声明。该插件使它们在IDE中可见,并且(不是100%肯定)编译时创建了真正的getter和setter。

答案 1 :(得分:0)

我的public class Weather extends RealmObject { @PrimaryKey public int id; public String date; public String forecast; public String humidity; public Wind wind; } public class Wind extends RealmObject { public String direction; public String speed; } 配置示例如下所示:

$('.collapse').on('click',function(e){
  e.preventDefault();
  $(this).toggleClass('active');
});

如果您要将lombok-maven-plugin与IDEA一起使用,请不要忘记将maven生成的来源(<plugin> <groupId>org.projectlombok</groupId> <artifactId>lombok-maven-plugin</artifactId> <version>1.16.8.0</version> <executions> <execution> <id>delombok</id> <phase>generate-sources</phase> <goals> <goal>delombok</goal> </goals> <configuration> <addOutputDirectory>false</addOutputDirectory> <sourceDirectory>src/main/java</sourceDirectory> </configuration> </execution> </executions> </plugin> 标记为lombok)排除。