2016-12-16 2 views
0

У нас есть приложение для загрузки весны с maven. С сегодняшнего дня он начал бросать ошибку ниже. Вчера было немного изменений, мы попробовали вернуться к старой версии кода, но все равно такую ​​же ошибку.BeanCreationException при создании ElasticSearchRepository - Не удалось разрешить соответствующий конструктор

java.lang.IllegalStateException: Error processing condition on org.springframework.boot.devtools.autoconfigure.DevToolsDataSourceAutoConfiguration 
at org.springframework.boot.autoconfigure.condition.SpringBootCondition.matches(SpringBootCondition.java:64) 
at org.springframework.context.annotation.ConditionEvaluator.shouldSkip(ConditionEvaluator.java:102) 
at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader$TrackedConditionEvaluator.shouldSkip(ConfigurationClassBeanDefinitionReader.java:436) 
at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader$TrackedConditionEvaluator.shouldSkip(ConfigurationClassBeanDefinitionReader.java:425) 
at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitionsForConfigurationClass(ConfigurationClassBeanDefinitionReader.java:127) 
at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitions(ConfigurationClassBeanDefinitionReader.java:116) 
at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:336) 
at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:246) 
at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:270) 
at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:93) 
at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:686) 
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:524) 
at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:122) 
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:761) 
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:371) 
at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) 
at com.infy.mp.MarketplaceApp.main(MarketplaceApp.java:64) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
at java.lang.reflect.Method.invoke(Method.java:498) 
at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49) 
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'applicationSearchRepository': Could not resolve matching constructor (hint: specify index/type/name arguments for simple parameters to avoid type ambiguities) 
at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:240) 
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1148) 
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1050) 
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.getSingletonFactoryBeanForTypeCheck(AbstractAutowireCapableBeanFactory.java:881) 
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.getTypeForFactoryBean(AbstractAutowireCapableBeanFactory.java:808) 
at org.springframework.beans.factory.support.AbstractBeanFactory.isTypeMatch(AbstractBeanFactory.java:544) 
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doGetBeanNamesForType(DefaultListableBeanFactory.java:425) 
at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanNamesForType(DefaultListableBeanFactory.java:390) 
at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanNamesForType(DefaultListableBeanFactory.java:384) 
at org.springframework.boot.devtools.autoconfigure.DevToolsDataSourceAutoConfiguration$DevToolsDataSourceCondition.getMatchOutcome(DevToolsDataSourceAutoConfiguration.java:133) 
at org.springframework.boot.autoconfigure.condition.SpringBootCondition.matches(SpringBootCondition.java:47) 
... 21 common frames omitted 

2016-12-16 12:26:26.519 WARN 7772 --- [ restartedMain] ationConfigEmbeddedWebApplicationContext : Exception thrown from LifecycleProcessor on context close 

java.lang.IllegalStateException: LifecycleProcessor not initialized - call 'refresh' before invoking lifecycle methods via the context: org.springframework.boot[email protected]4435f708: startup date [Fri Dec 16 12:26:18 IST 2016]; root of context hierarchy 
at org.springframework.context.support.AbstractApplicationContext.getLifecycleProcessor(AbstractApplicationContext.java:417) 
at org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:1002) 
at org.springframework.context.support.AbstractApplicationContext.close(AbstractApplicationContext.java:961) 
at org.springframework.boot.SpringApplication.handleRunFailure(SpringApplication.java:818) 
at org.springframework.boot.SpringApplication.run(SpringApplication.java:326) 
at com.infy.mp.MarketplaceApp.main(MarketplaceApp.java:64) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
at java.lang.reflect.Method.invoke(Method.java:498) 
at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49) 

2016-12-16 12:26:26.520 ERROR 7772 --- [ restartedMain] o.s.b.f.s.DefaultListableBeanFactory  : Destroy method on bean with name 'org.springframework.boot.autoconfigure.internalCachingMetadataReaderFactory' threw an exception 

java.lang.IllegalStateException: ApplicationEventMulticaster not initialized - call 'refresh' before multicasting events via the context: org.springframework.boot[email protected]4435f708: startup date [Fri Dec 16 12:26:18 IST 2016]; root of context hierarchy 
at org.springframework.context.support.AbstractApplicationContext.getApplicationEventMulticaster(AbstractApplicationContext.java:404) 
at org.springframework.context.support.ApplicationListenerDetector.postProcessBeforeDestruction(ApplicationListenerDetector.java:97) 
at org.springframework.beans.factory.support.DisposableBeanAdapter.destroy(DisposableBeanAdapter.java:253) 
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroyBean(DefaultSingletonBeanRegistry.java:578) 
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingleton(DefaultSingletonBeanRegistry.java:554) 
at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingleton(DefaultListableBeanFactory.java:954) 
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingletons(DefaultSingletonBeanRegistry.java:523) 
at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingletons(DefaultListableBeanFactory.java:961) 
at org.springframework.context.support.AbstractApplicationContext.destroyBeans(AbstractApplicationContext.java:1033) 
at org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:1009) 
at org.springframework.context.support.AbstractApplicationContext.close(AbstractApplicationContext.java:961) 
at org.springframework.boot.SpringApplication.handleRunFailure(SpringApplication.java:818) 
at org.springframework.boot.SpringApplication.run(SpringApplication.java:326) 
at com.infy.mp.MarketplaceApp.main(MarketplaceApp.java:64) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
at java.lang.reflect.Method.invoke(Method.java:498) 
at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49) 

Ниже ApplicationSearchRepository интерфейс

package com.test.mp.search.repository; 

import org.springframework.data.elasticsearch.repository.ElasticsearchRepository; 
import com.test.mp.domain.application.ApplicationElasticSearch; 

public interface ApplicationSearchRepository extends ElasticsearchRepository<ApplicationElasticSearch, String> { 
public ApplicationElasticSearch findOneByJobIdAndPosterIdAndSeekerProfileId(String jobid, String posterid, String seekerprofileid); 

Я совершенно новой для Java, пожалуйста, дайте мне знать, если вам нужна любая другая информация.

Update

Проблема решена после обновления версии Maven зависимостей пружинных-данных- * пакеты, как показано ниже (нерабочих версии в комментариях).

<dependency> 
     <groupId>org.springframework.data</groupId> 
     <artifactId>spring-data-commons</artifactId> 
     <!--<version>1.13.0.BUILD-SNAPSHOT</version>--> 
     <version>1.13.0.M1</version> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework.data</groupId> 
     <artifactId>spring-data-cassandra</artifactId> 
     <!--<version>1.5.0.BUILD-SNAPSHOT</version>--> 
     <version>2.0.0.M1</version> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework.data</groupId> 
     <artifactId>spring-cql</artifactId> 
     <!--<version>1.5.0.BUILD-SNAPSHOT</version>--> 
     <version>2.0.0.M1</version> 
    </dependency> 

Но теперь интеграционные тесты продолжают выдавать ту же ошибку. В области испытаний нет зависимостей, связанных с пружинными данными, кроме блока cassandra. Любая подсказка, почему тесты терпят неудачу?

ответ

0

Как обновлено в вопросе изменение версии maven от BUILD-SNAPSHOT до этапа или выпуска исправлено выпуск. Кажется, что при использовании BUILD-SNAPSHOT файлы jar обновляются в Maven respoitory всякий раз, когда есть новая сборка. Это, по-видимому, причина, по которой наше приложение, которое работало в один прекрасный день, перестало работать на следующий день.

И для вопроса во время выполнения тестов в затмении, как предложено в этом SO Answer файле .classpath имел в виду версию BUILD-SNAPSHOT банок. После удаления этих записей тесты также отлично работали в eclipse.

Смежные вопросы