我有模特
@Data
@AllArgsConstructor
@NoArgsConstructor
public class ProductsRequest {
private String initiatorType;
private String categoryCode;
我有lombok配置:
lombok.anyConstructor.suppressConstructorProperties = true
lombok.addGeneratedAnnotation = false
在Android上使用API 27(真实设备上的Android 7)一切正常。在Android 17(模拟器上的Android 4.2)在这一行中我得到错误:
return restApiFactory.getProductService().getProducts(productsRequest);
错误:
Caused by: java.lang.ClassNotFoundException: Didn't find class "java.beans.ConstructorProperties" on path: /data/app/my-1.apk
如果我改变
@AllArgsConstructor
@NoArgsConstructor
to standart constructors - 一切正常
答案 0 :(得分:0)
因为我从未在ctor-s中遇到过这样的问题,所以我鼓励您更详细地描述您的问题。我假设您手动编写的代码与生成的代码lombok不同。可能是方法的可见性或添加的一些特殊注释。
使用 delombok 功能(https://projectlombok.org/features/delombok),您可以将注释扩展为实际代码。比你可以区分手动编写的代码和lombok生成的代码。因此,您可以探索是否在生成的代码lombok之上添加了@ java.beans.ConstructorProperties。 (Delombok using Gradle)
注意:实际上你将有3个ctor:@AllArgsConstructor,@ NoArgsConstructor和@RequiredArgsConstructor隐含在@Data中。
根据您的 lombok.config 文件,ctor-s不应该有注释。可能是你的某些口味错过了类路径上的 lombok.config 吗?