2013-07-26 4 views
0

Это первый раз я использую Spring партии и у меня есть исключение:конфигурации Spring Batch NoSuchMethodError Исключение

Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'stepScope' defined in class path resource [org/springframework/batch/core/configuration/annotation/StepScopeConfiguration.class]: Instantiation of bean failed; nested exception is org.springframework.beans.factory.BeanDefinitionStoreException: Factory method [public org.springframework.batch.core.scope.StepScope org.springframework.batch.core.configuration.annotation.StepScopeConfiguration.stepScope()] threw exception; nested exception is java.lang.NoSuchMethodError: org.springframework.batch.core.scope.StepScope.setAutoProxy(Z)V 
at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:581) 
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1031) 
.... 

Caused by: java.lang.NoSuchMethodError: org.springframework.batch.core.scope.StepScope.setAutoProxy(Z)V 
at org.springframework.batch.core.configuration.annotation.StepScopeConfiguration.stepScope(AbstractBatchConfiguration.java:130) 

Я не знаю, как решить эту ошибку. Я использую конфигурацию Java, чтобы определить работу, шаг, читатель, процессор и писатель:

public class SpringBatchTestJobConfig extends PersistenceSpringConfig { 

    @Autowired 
    private JobBuilderFactory jobBuilders; 

    @Autowired 
    private StepBuilderFactory stepBuilders; 

    @Bean 
    @StepScope 
    public FlatFileItemReader<EntiteJuridique> cvsReader(@Value("#{jobParameters[input.file]}") String input) 
    { 
    log.info("cvsReader"); 
    FlatFileItemReader<EntiteJuridique> flatFileReader = new FlatFileItemReader<EntiteJuridique>(); 
    flatFileReader.setLineMapper(lineMapper()); 
    flatFileReader.setResource(new ClassPathResource(input)); 
    return flatFileReader; 
    } 

@Bean 
    public ItemWriter<EntiteJuridiqueJPA> writer() 
    { 
    log.info("writer"); 
    JpaItemWriter<EntiteJuridiqueJPA> jpaWriter = new JpaItemWriter<EntiteJuridiqueJPA>(); 
    try 
    { 
     jpaWriter.setEntityManagerFactory(entityManagerFactory().nativeEntityManagerFactory); 

    } 
    catch (Exception exception) 
    { 
     log.debug(exception); 
    } 

    return jpaWriter; 
    } 

@Bean 
    public Job dataInitializer() 
    { 
    return jobBuilders.get("dataInitializer").start(step()).build(); 
    } 

@Bean 
    public Step step() 
    { 
    return stepBuilders.get("step").<EntiteJuridique, EntiteJuridiqueJPA> chunk(1).reader(cvsReader(null)).processor(processor()) 
     .writer(writer()).build(); 
    } 

Любые подсказки, как эта проблема?

EDIT: Я использую

  • весны-жильный 3.2.2.RELEASE
  • пружинной партии 2.2.0.RELEASE
  • пружинной пакетную инфраструктура 2.2.0.RELEASE
  • spring-test 3.2.2.RELEASE
+0

ли все ваши весенние баночки с той же версии? NoSuchMethodError является подозрительным. – enl8enmentnow

+0

Я, наконец, решаю свои проблемы. Отсутствующие банки – Dimitri

ответ

0

У меня такая же ошибка, решение для меня удаляло версию из моей зависимости, и она работала нормально.

<dependency> 
    <groupId>org.springframework.batch</groupId> 
    <artifactId>spring-batch-core</artifactId> 
</dependency> 
Смежные вопросы