【问题标题】:How to see the classes generated by lombok in maven spring boot application如何在maven spring boot应用程序中查看lombok生成的类
【发布时间】:2021-03-22 08:21:51
【问题描述】:

我正在尝试在我的应用程序中使用 lombok,它基于 spring boot 和 maven 配置。

我已经添加了依赖:

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

在我的 pom.xml 中。另外,当我使用 STS 时,我通过运行 jar 将 Lombok 安装到我的 sts 中。我能够使用 Lombok 注释并使用 getter、setter 等,但我无法在 target/generated-sources 文件夹中看到我生成的类/方法。

是否有特殊原因,为什么我看不到这些生成的类以及 STS 或 maven 如何使用这些生成的类/方法?

谁能帮我理解?如果可能的话,如何查看那些生成的类/方法?

注意:我的源代码文件夹仍然只有src/main/java

【问题讨论】:

    标签: java spring-boot maven lombok sts


    【解决方案1】:

    您的项目编译的类文件位于 target/classes 文件夹中。 此文件夹在默认视图中不可见,即 Package Explorer 视图。您需要从 Window -> Show View 启用 Navigator(现已弃用)视图以查看目标文件夹的内容。完成后,根据您的项目包结构,您编译的类将在 target/classes 文件夹中可见。

    【讨论】:

    • 所以 lombok 生成的类也将在 target/classes 文件夹中可用吗?
    • 是的。您可以使用反编译器插件查看为您的类字段生成的 getter 和 setter 方法。
    【解决方案2】:

    Lombok 不能通过将源输出到target/generated-sources 来工作;该技术只允许添加新的源文件,而不是修改正在编译的类。 Lombok 的工作方式是侵入编译器内部并扰乱编译过程本身。

    【讨论】:

    • 知道了。谢谢
    • 同样不相关,但使用 lombok 生成的 equals、hashcode 方法是否安全?
    • @happytohelp “安全”是什么意思?全世界开发者使用的主要框架都在使用它们,所以我对此没有任何保留。
    猜你喜欢
    • 1970-01-01
    • 2020-05-19
    • 2021-08-01
    • 2023-02-01
    • 2020-04-13
    • 2019-02-24
    • 2019-01-19
    • 2019-05-21
    • 2017-06-24
    相关资源
    最近更新 更多