相关疑难解决方法(0)

当我在IntelliJ IDEA下使用Lombok时无法编译项目

我正在尝试在我使用IntelliJ IDEA 11开发的项目中使用Lombok.

为IDEA安装了第三方插件,看起来工作正常,因为IDEA会看到所有自动生成的方法/字段.

所以我有一个使用Slf4j的类.我这样注释了它

import lombok.extern.slf4j.Slf4j;

@Slf4j
public class TestClass
{
    public TestClass()
    {
        log.info("Hello!");
    }
}
Run Code Online (Sandbox Code Playgroud)

但是当我构建我的项目时,编译器吐出:cannot find symbol variable log.

你能告诉我我在这里失踪了吗?

更新:事实证明它的RequestFactory注释过程失败了.

input files: {com.zasutki.courierApp.server.TestServlet, com.mine.courierApp.server.model.DatastoreObject}

annotations: [javax.inject.Singleton, javax.inject.Inject, lombok.Getter, lombok.Setter, com.googlecode.objectify.annotation.Id, com.googlecode.objectify.annotation.OnSave]

Processor com.google.web.bindery.requestfactory.apt.RfValidator matches [lombok.Getter, com.googlecode.objectify.annotation.Id, javax.inject.Inject, lombok.Setter, com.googlecode.objectify.annotation.OnSave, javax.inject.Singleton] and returns false.

cannot find symbol variable log
Run Code Online (Sandbox Code Playgroud)

关于变通方法的任何想法?

Update2:也许这不是读者想要听到的东西,但最终我转而使用Scala.

java intellij-idea lombok

185
推荐指数
12
解决办法
14万
查看次数

Lombok在Intellij中的注释

我使用Lombok的注释有困难,因为似乎jar甚至没有导入项目:

import lombok.extern.slf4j.Slf4j;

/**
 * Created by John on 2017-03-20.
 */
@Slf4j
public class App {

    public static void main(String[] args)
    {
        log.info("Hello");
    }
}
Run Code Online (Sandbox Code Playgroud)

它说:

无法解析方法信息(java.lang.String)

编译时:

错误:(6,1)java:package org.slf4j不存在

我做了:

  1. 将lombok的依赖项插入pom
  2. 安装了Intellij的lombok插件
  3. 启用注释处理
  4. 项目的导入依赖项(它们位于外部库列表中)

我在这里寻找解决方案:

仍然是同样的问题.任何建议都会得到满足.

更新:pom.xml如果有帮助:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>example</groupId>
    <artifactId>com</artifactId>
    <version>1.0-SNAPSHOT</version>

    <dependencies>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.16.14</version>
            <scope>provided</scope>
        </dependency>
    </dependencies>


</project>
Run Code Online (Sandbox Code Playgroud)

java intellij-idea maven lombok

11
推荐指数
1
解决办法
4640
查看次数

Lombok - 访问 getter 不可见

我在我的实体中使用了 lombok 注释“@Data”。我试图使用 Dto Converter 的 getter,就像我在没有 lombok 的情况下正常使用一样。不知何故,它不像我预期的那样工作。看起来我的 lombok 没有创建 getter 或者我没有访问权限?

@Entity
@Table(name = "product")
@Data
public class Product {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "id")
    private Long id;

    @Column(name = "name")
    private String name;
Run Code Online (Sandbox Code Playgroud)

Dto转换器:

public class ProductEntityToProductDetailsDtoConverterImpl {

    @Override
    public ProductDetailsDto convert(Product product) {
        return new ProductDetailsDto(
                product.getId(),
                product.getName()
        );
    }
}
Run Code Online (Sandbox Code Playgroud)

java spring lombok

4
推荐指数
1
解决办法
324
查看次数

标签 统计

java ×3

lombok ×3

intellij-idea ×2

maven ×1

spring ×1