gpt4 book ai didi

java - 如何在可执行 jar 文件中运行 lombok 功能?

转载 作者:行者123 更新时间:2023-12-02 08:44:13 24 4
gpt4 key购买 nike

假设我有一个包含超过 10 个或更多参数的构造函数,并且我在条件选择查询中使用它来获取数据。现在的问题是我想删除我的构造函数,因为它给我带来了声纳问题。

所以我尝试了 Lombok 依赖,@AllArgsConstructor 它在我的 IDE 中工作,但是当我创建 jar 文件时,JPA 查询并未使用它。

我需要帮助才能使 lombok 在我的 project.jar 文件中工作,

或者

更改不使用构造函数的选择查询,

或者

还有什么更好的方法

最佳答案

Lombok 是一个编译时事件。一旦你的代码被编译(你有类文件),lombok 就不应该在那里/不会做任何事情。从这个意义上说, Lombok 不是一个图书馆。您也不随应用程序附带“javac”。

如果lombok是编译的一部分,那么lombok就会做它的事情。如果不是,那么你的编译器会生成一个错误;毕竟,它不知道 @AllArgsConstructor 是什么。因此,如果您没有观察到任何编译错误,lombok 就完成了它的任务*。

其次,声纳是一种 linting 工具。它可以帮助您。如果它“告诉你不要”在你认为最好的地方编写代码,那么请告诉声纳停止提示它。它是一个供你使用的工具;不是 jail 。

您可以使用javap来检查all-args构造函数是否存在。如果是(应该是),那么您的问题实际上是:如何让我的 JPA 工具使用该构造函数?

*) 告诉 javac 让 lombok 的类可用,但不将其作为注释处理器运行是可能的,但需要一些工作。但如果你确实做到了这一点,那么 lombok 就不会改变你的任何类。我认为情况并非如此,因为您需要使用大量命令行开关来实现这一点。

关于java - 如何在可执行 jar 文件中运行 lombok 功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61189223/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com