小编ttt*_*ttt的帖子

Spring批处理输入资源必须存在(阅读器处于“严格”模式)错误

我使用 Spring Batch 来解析 csv 文件。当文件在资源目录中时效果很好,但在其他地方不起作用。我得到错误

Caused by: java.lang.IllegalStateException: Input resource must exist (reader is in 'strict' mode): class path resource [c:/data/geodata1.csv]
Run Code Online (Sandbox Code Playgroud)

我的代码

spring.datasource:
    driverClassName: org.h2.Driver
    url: jdbc:h2:mem:mydb;MODE=Oracle
server:
  port: 9001
geodata:
  file: c:/data/geodata1.csv

@Value("${geodata.file}")
private String filePath;

@Bean
public FlatFileItemReader<Person> reader() {
    FlatFileItemReader<Person> reader = new FlatFileItemReader<Person>();
    reader.setResource(new ClassPathResource(filePath));
    reader.setLineMapper(new DefaultLineMapper<Person>() {{
        setLineTokenizer(new DelimitedLineTokenizer() {{
            setNames(new String[] {"clientId", "longitude", "latitude", });
        }});
        setFieldSetMapper(new BeanWrapperFieldSetMapper<Person>() {{
            setTargetType(Person.class);
        }});
    }});
    return reader;
}
Run Code Online (Sandbox Code Playgroud)

但是这段代码效果很好

File file = new File(filePath);
Run Code Online (Sandbox Code Playgroud)

java spring spring-batch

8
推荐指数
2
解决办法
2万
查看次数

如何将yml属性加载到gradle

我有具有以下属性的yml文件:

spring:
  application:
    name: auth module
  profiles:
    active: prod
Run Code Online (Sandbox Code Playgroud)

在我gradle.build:

jar {
    baseName = 'auth-module-dev'
    version =  '0.1.2'
}
Run Code Online (Sandbox Code Playgroud)

我想构建像auth-module-%profile_name%.jar这样的jar。我怎样才能做到这一点?

groovy spring yaml gradle

4
推荐指数
1
解决办法
6113
查看次数

标签 统计

spring ×2

gradle ×1

groovy ×1

java ×1

spring-batch ×1

yaml ×1