@Getter @Setter注释无法解析为类型

时间:2011-12-01 05:57:21

标签: java annotations

我正在尝试自动化JavaBean中的getter和setter方法。

因为Beans @ Naming Convention描述了方法和字段命名约定,所以必须有一种方法来使用这些约定来避免样板代码,例如为每个bean编写getter和setter方法。我发现了一种here

我在Windows机器上使用带有Java SE 6的Eclipse Helios IDE。虽然Eclipse提供了一种生成getter和setter方法而无需显式编写它们的方法,但使用注释会使代码更加清晰和可读。

但是,当我在Eclipse中编写以下代码时,我得到以下错误@Compile-time:

    private @Getter @Setter int price;

错误:

Getter无法解析为某种类型 无法将Setter解析为某种类型。

我该如何解决?

4 个答案:

答案 0 :(得分:9)

@Getter@Setter不是Java的一部分。 Project Lombok有这些名称的注释,因此您应该研究如何设置它。

答案 1 :(得分:0)

即使它有效,也不应该让它成为常规练习。处理相同代码的多个人可能没有您拥有的相同设置。

我们花了将近一天时间试图弄清楚为什么某些内容无法在我们的构建服务器上正确编译,结果发现它是由eclipes自动生成的一些注释引起的。

答案 2 :(得分:0)

可能仍未获得eclipse认可的@Getter和@Setter的人必须遵循lombok.jar的安装说明。对于日食,你必须

日食 执行lombok.jar(双击它,或运行java -jar lombok.jar)。

然后重新启动eclipse,然后eclipse将识别@Getter和@Setter。简单地在构建路径中使用lombok.jar可能无法在eclipse上解决此问题。

答案 3 :(得分:0)

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

我通过在pom.xml中使用此依赖关系来解决。