Eine Aufzeichnung von gewöhnlichen Fehlern.
Als ich den folgenden Code mit lombok ausführte, wurde ein Laufzeitfehler angezeigt.
@Data
@AllArgsConstructor
public class Person {
...
Caused by: java.lang.InstantiationException: kagamihoge.springbatchsample.Person
at java.base/java.lang.Class.newInstance(Class.java:571) ~[na:na]
at org.springframework.batch.item.file.mapping.BeanWrapperFieldSetMapper.getBean(BeanWrapperFieldSetMapper.java:248) ~[spring-batch-infrastructure-4.2.1.RELEASE.jar:4.2.1.RELEASE]
... 53 common frames omitted
Caused by: java.lang.NoSuchMethodException: kagamihoge.springbatchsample.Person.<init>()
at java.base/java.lang.Class.getConstructor0(Class.java:3350) ~[na:na]
at java.base/java.lang.Class.newInstance(Class.java:556) ~[na:na]
... 54 common frames omitted
Die Ursache war, dass die Instanziierung durch Reflexion fehlschlug, weil es keinen Standardkonstruktor ohne Argumente gab.
Also habe ich lombok angegeben, um auch einen Konstruktor ohne Argumente zu generieren.
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Person {
..
Recommended Posts