- 尝试仅在项目中使用java工作站将字段集自动映射到域对象
-
在以下方面失败:
BeanWrapperFieldSetMapper.mapFieldSet
(第184行)在以下行(第187行):binder.bind(new MutablePropertyValues(getBeanProperties(copy, fs.getProperties()))); @Override public Properties getProperties() { if (names == null) { throw new IllegalStateException("Cannot create properties without meta data"); }
注意:我在尝试自动映射时没有指定名称。
-
以下是我的代码:
@Bean public LineMapper<Partner> lineMapper() { DefaultLineMapper<Partner> lineMapper = new DefaultLineMapper<Partner>(); DelimitedLineTokenizer lineTokenizer = new DelimitedLineTokenizer(); BeanWrapperFieldSetMapper<Partner> fieldSetMapper = new BeanWrapperFieldSetMapper<Partner>(); fieldSetMapper.setBeanFactory(getApplicationContext()); fieldSetMapper.setTargetType(Partner.class); lineMapper.setLineTokenizer(lineTokenizer); lineMapper.setFieldSetMapper(fieldSetMapper); return lineMapper; }
-
精确堆栈跟踪
退出描述:
org.springframework.batch.item.file.FlatFileParseException: Parsing error at line: 1 in resource=[class path resource [partner-import.csv]], input=[Mustermann,Max,dahiya.naveen@gmail.com,m]
由:
java.lang.IllegalStateException: Cannot create properties without meta data at org.springframework.batch.item.file.transform.DefaultFieldSet.getProperties(DefaultFieldSet.java:745)
引起
您缺少设置likeTokenizer.setNames(),因为您正在使用名称(Partner
属性的名称)