2016-06-06 13 views
0

Ich habe einen Spring BOOT-basierten Webservice, der die Spring-Daten JPA verwendet, um eine Verbindung zur MySql-DB herzustellen. Ich kann die Anwendung problemlos ausführen und bereitstellen.NoSuchMethodError (getMetaModel) während der Integration testen JPA-Repository mit Spring BOOT

Allerdings, wenn ich die Integration Testfälle laufen, da die Anwendung konfiguriert ist immer, ich bin eine Ausnahme Verblendung (java.lang.NoSuchMethodError: javax.persistence.EntityManagerFactory.getMetamodel() Ljavax/Persistenz/Metamodell/Metamodell)

Dies wird ausgelöst, da die Repository-Bean, die die JpaRepository-Schnittstelle erweitert, gerade erstellt wird.

Wenn ich die EntityManagerFactory Interface-Methode überprüfe, finde ich die getMetaModel() -Methode.

Versionen

  • Spring: 4.0
  • org.eclipse.persistence.jpa: 2.6.3
  • Feder-data-JPA: 1.9.2.RELEASE

Wäre hilfreich, wenn jemand auf die Ursache oder weitere Schritte zum Debuggen hinweisen könnte.

++++++++++++++++++++++++++++++++++++++++++

Testklasse

@RunWith(SpringJUnit4ClassRunner.class) 
@ContextConfiguration(classes = {ApplicationService.class, ApplicationServiceImpl.class}) 
@EnableTransactionManagement 
@WebAppConfiguration public class IntegrationTestBase { 
    @Autowired 
    private ApplicationServiceImpl service; 
.. 
} 

Exception

java.lang.IllegalStateException: Failed to load ApplicationContext 
    at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:124) 
    at org.springframework.test.context.support.DefaultTestContext.getApplicationContext(DefaultTestContext.java:83) 
    at org.springframework.test.context.support.DependencyInjectionTestExecutionListener.injectDependencies(DependencyInjectionTestExecutionListener.java:117) 
    at org.springframework.test.context.support.DependencyInjectionTestExecutionListener.prepareTestInstance(DependencyInjectionTestExecutionListener.java:83) 
    at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:228) 
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.createTest(SpringJUnit4ClassRunner.java:230) 
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner$1.runReflectiveCall(SpringJUnit4ClassRunner.java:289) 
    at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) 
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.methodBlock(SpringJUnit4ClassRunner.java:291) 
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:249) 
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:89) 
    at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) 
    at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) 
    at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) 
    at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) 
    at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) 
    at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61) 
    at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70) 
    at org.junit.runners.ParentRunner.run(ParentRunner.java:363) 
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:193) 
    at org.junit.runner.JUnitCore.run(JUnitCore.java:137) 
    at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:119) 
    at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:42) 
    at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:234) 
    at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:74) 
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'ApplicationServiceImpl': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private de.adclear.soa.integration.repository.ApplicationRepository de.adclear.soa.integration.ApplicationServiceImpl.ApplicationRepository; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'ApplicationRepository': Cannot resolve reference to bean 'jpaMappingContext' while setting bean property 'mappingContext'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'jpaMappingContext': Invocation of init method failed; nested exception is java.lang.NoSuchMethodError: javax.persistence.EntityManagerFactory.getMetamodel()Ljavax/persistence/metamodel/Metamodel; 
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:334) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1214) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:543) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482) 
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306) 
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) 
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302) 
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197) 
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:772) 
    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:839) 
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:538) 
    at org.springframework.test.context.web.AbstractGenericWebContextLoader.loadContext(AbstractGenericWebContextLoader.java:133) 
    at org.springframework.test.context.web.AbstractGenericWebContextLoader.loadContext(AbstractGenericWebContextLoader.java:60) 
    at org.springframework.test.context.support.AbstractDelegatingSmartContextLoader.delegateLoading(AbstractDelegatingSmartContextLoader.java:109) 
    at org.springframework.test.context.support.AbstractDelegatingSmartContextLoader.loadContext(AbstractDelegatingSmartContextLoader.java:261) 
    at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContextInternal(DefaultCacheAwareContextLoaderDelegate.java:98) 
    at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:116) 
    ... 24 more 
Caused by: org.springframework.beans.factory.BeanCreationException: Could not autowire field: private de.adclear.soa.integration.repository.ApplicationRepository de.adclear.soa.integration.ApplicationServiceImpl.ApplicationRepository; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'ApplicationRepository': Cannot resolve reference to bean 'jpaMappingContext' while setting bean property 'mappingContext'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'jpaMappingContext': Invocation of init method failed; nested exception is java.lang.NoSuchMethodError: javax.persistence.EntityManagerFactory.getMetamodel()Ljavax/persistence/metamodel/Metamodel; 
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:573) 
    at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:88) 
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:331) 
    ... 40 more 
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'ApplicationRepository': Cannot resolve reference to bean 'jpaMappingContext' while setting bean property 'mappingContext'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'jpaMappingContext': Invocation of init method failed; nested exception is java.lang.NoSuchMethodError: javax.persistence.EntityManagerFactory.getMetamodel()Ljavax/persistence/metamodel/Metamodel; 
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:359) 
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:108) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1481) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1226) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:543) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482) 
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306) 
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) 
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302) 
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197) 
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidates(DefaultListableBeanFactory.java:1192) 
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1116) 
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1014) 
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:545) 
    ... 42 more 
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'jpaMappingContext': Invocation of init method failed; nested exception is java.lang.NoSuchMethodError: javax.persistence.EntityManagerFactory.getMetamodel()Ljavax/persistence/metamodel/Metamodel; 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1578) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:545) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482) 
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306) 
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) 
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302) 
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197) 
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:351) 
    ... 55 more 
Caused by: java.lang.NoSuchMethodError: javax.persistence.EntityManagerFactory.getMetamodel()Ljavax/persistence/metamodel/Metamodel; 
at org.springframework.data.jpa.repository.config.JpaMetamodelMappingContextFactoryBean.getMetamodels(JpaMetamodelMappingContextFactoryBean.java:90) 
at org.springframework.data.jpa.repository.config.JpaMetamodelMappingContextFactoryBean.createInstance(JpaMetamodelMappingContextFactoryBean.java:56) 
at org.springframework.data.jpa.repository.config.JpaMetamodelMappingContextFactoryBean.createInstance(JpaMetamodelMappingContextFactoryBean.java:26) 
at org.springframework.beans.factory.config.AbstractFactoryBean.afterPropertiesSet(AbstractFactoryBean.java:134) 
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1637) 
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1574) 
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:545) 
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482) 
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306) 
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) 
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302) 
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197) 
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:351) 
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:108) 
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1481) 
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1226) 
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:543) 
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482) 
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306) 
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) 
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302) 
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197) 
at org.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidates(DefaultListableBeanFactory.java:1192) 
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1116) 
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1014) 
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:545) 
at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:88) 
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:331) 
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1214) 
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:543) 
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482) 
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306) 
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) 
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302) 
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197) 
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:772) 
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:839) 
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:538) 
at org.springframework.test.context.web.AbstractGenericWebContextLoader.loadContext(AbstractGenericWebContextLoader.java:133) 
at org.springframework.test.context.web.AbstractGenericWebContextLoader.loadContext(AbstractGenericWebContextLoader.java:60) 
at org.springframework.test.context.support.AbstractDelegatingSmartContextLoader.delegateLoading(AbstractDelegatingSmartContextLoader.java:109) 
at org.springframework.test.context.support.AbstractDelegatingSmartContextLoader.loadContext(AbstractDelegatingSmartContextLoader.java:261) 
at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContextInternal(DefaultCacheAwareContextLoaderDelegate.java:98) 
at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:116) 
at org.springframework.test.context.support.DefaultTestContext.getApplicationContext(DefaultTestContext.java:83) 
at org.springframework.test.context.support.DependencyInjectionTestExecutionListener.injectDependencies(DependencyInjectionTestExecutionListener.java:117) 
at org.springframework.test.context.support.DependencyInjectionTestExecutionListener.prepareTestInstance(DependencyInjectionTestExecutionListener.java:83) 
at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:228) 
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.createTest(SpringJUnit4ClassRunner.java:230) 
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner$1.runReflectiveCall(SpringJUnit4ClassRunner.java:289) 
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) 
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.methodBlock(SpringJUnit4ClassRunner.java:291) 
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:249) 
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:89) 
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) 
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) 
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) 
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) 
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) 
at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61) 
at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70) 
at org.junit.runners.ParentRunner.run(ParentRunner.java:363) 
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:193) 
at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:283) 
at org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRerun(JUnit4Provider.java:173) 
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:153) 
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:128) 
at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:203) 
at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:155) 
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103) 

Wenn die Unit-Tests ausgeführt werden, melden Sie ich die Schritte der Spring-Konfiguration & Initialisierung, wird die Ausnahme throw n nach diesen Schritten -

2016-06-06 11:35:51,840 INFO DebugSpringConfig:18 - postProcessBeforeInitialization: bean(ApplicationServiceConfig) 
2016-06-06 11:35:58,372 INFO DebugSpringConfig:18 - postProcessBeforeInitialization: bean(dataSource) 
2016-06-06 11:35:58,490 INFO DebugSpringConfig:18 - postProcessBeforeInitialization: bean(org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration$DataSourceInitializerConfiguration) 
2016-06-06 11:36:00,890 INFO DebugSpringConfig:18 - postProcessBeforeInitialization: bean(spring.datasource.CONFIGURATION_PROPERTIES) 
2016-06-06 11:36:00,941 INFO DebugSpringConfig:18 - postProcessBeforeInitialization: bean(dataSourceInitializer) 
2016-06-06 11:36:04,189 INFO DebugSpringConfig:18 - postProcessBeforeInitialization: bean(jpaVendorAdapter) 
2016-06-06 11:36:05,630 INFO DebugSpringConfig:18 - postProcessBeforeInitialization: bean(jpaDialect) 
2016-06-06 11:36:09,985 INFO DebugSpringConfig:18 - postProcessBeforeInitialization: bean(eclipseLinkProperty) 
2016-06-06 11:36:16,705 INFO DebugSpringConfig:18 - postProcessBeforeInitialization: bean(entityManagerFactory) 
2016-06-06 11:36:17,817 INFO DebugSpringConfig:18 - postProcessBeforeInitialization: bean(org.springframework.context.event.internalEventListenerProcessor) 
2016-06-06 11:36:17,820 INFO DebugSpringConfig:18 - postProcessBeforeInitialization: bean(org.springframework.context.event.internalEventListenerFactory) 
2016-06-06 11:36:17,827 INFO DebugSpringConfig:18 - postProcessBeforeInitialization: bean(ApplicationServiceApplication) 
2016-06-06 11:36:18,160 INFO DebugSpringConfig:18 - postProcessBeforeInitialization: bean((inner bean)#298a0c11) 
2016-06-06 11:36:18,168 INFO DebugSpringConfig:18 - postProcessBeforeInitialization: bean((inner bean)#29c496d3) 
2016-06-06 11:36:18,175 INFO DebugSpringConfig:18 - postProcessBeforeInitialization: bean((inner bean)#592e883f) 
2016-06-06 11:36:18,201 INFO DebugSpringConfig:18 - postProcessBeforeInitialization: bean((inner bean)#6f672a3f) 
2016-06-06 11:36:18,211 INFO DebugSpringConfig:18 - postProcessBeforeInitialization: bean(jpaMappingContext) 

Wenn ich die Anwendung (ohne Tests) laufen, ich habe keine Ausnahme stellen und folgenden sind Schritte, die protokolliert werden -

2016-06-06 11:49:37,146 INFO DebugSpringConfig:18 - postProcessBeforeInitialization: bean(dataSource) 
2016-06-06 11:49:37,152 INFO DebugSpringConfig:18 - postProcessBeforeInitialization: bean(org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration$DataSourceInitializerConfiguration) 
2016-06-06 11:49:37,190 INFO DebugSpringConfig:18 - postProcessBeforeInitialization: bean(spring.datasource.CONFIGURATION_PROPERTIES) 
2016-06-06 11:49:37,196 INFO DebugSpringConfig:18 - postProcessBeforeInitialization: bean(dataSourceInitializer) 
2016-06-06 11:49:37,211 INFO DebugSpringConfig:18 - postProcessBeforeInitialization: bean(jpaVendorAdapter) 
2016-06-06 11:49:37,215 INFO DebugSpringConfig:18 - postProcessBeforeInitialization: bean(jpaDialect) 
2016-06-06 11:49:37,223 INFO DebugSpringConfig:18 - postProcessBeforeInitialization: bean(eclipseLinkProperty) 
2016-06-06 11:49:37,235 INFO DebugSpringConfig:18 - postProcessBeforeInitialization: bean(entityManagerFactory) 
2016-06-06 11:49:38,148 INFO DebugSpringConfig:18 - postProcessBeforeInitialization: bean(org.springframework.context.event.internalEventListenerProcessor) 
2016-06-06 11:49:38,151 INFO DebugSpringConfig:18 - postProcessBeforeInitialization: bean(org.springframework.context.event.internalEventListenerFactory) 
2016-06-06 11:49:38,155 INFO DebugSpringConfig:18 - postProcessBeforeInitialization: bean(ApplicationServiceApplication) 
2016-06-06 11:49:38,160 INFO DebugSpringConfig:18 - postProcessBeforeInitialization: bean(swaggerConfig) 
2016-06-06 11:49:38,431 INFO DebugSpringConfig:18 - postProcessBeforeInitialization: bean((inner bean)#3b5eab14) 
2016-06-06 11:49:38,436 INFO DebugSpringConfig:18 - postProcessBeforeInitialization: bean((inner bean)#1bcbbc70) 
2016-06-06 11:49:38,441 INFO DebugSpringConfig:18 - postProcessBeforeInitialization: bean((inner bean)#2f7fd8d2) 
2016-06-06 11:49:38,471 INFO DebugSpringConfig:18 - postProcessBeforeInitialization: bean((inner bean)#7d7e1cb4) 
2016-06-06 11:49:38,480 INFO DebugSpringConfig:18 - postProcessBeforeInitialization: bean(jpaMappingContext) 
2016-06-06 11:49:38,534 INFO DebugSpringConfig:18 - postProcessBeforeInitialization: bean(ApplicationRepository) 
2016-06-06 11:49:39,116 INFO DebugSpringConfig:18 - postProcessBeforeInitialization: bean(ApplicationServiceImpl) 
2016-06-06 11:49:39,128 INFO DebugSpringConfig:18 - postProcessBeforeInitialization: bean(referrerMappingController) 
+1

Mögliche Duplikat: siehe http://StackOverflow.com/Questions/10489327/spring-Data-Jpa-Use-Injection-returns-Nosuchmethoderror – blur0224

+0

@ blur0224 Die Frage ist ähnlich. Aber die gelieferte Lösung ist jetzt nicht relevant.Ich habe die Methode in der Klasse gefunden, auf die die Ausnahme hinweist. Brauche also einen anderen Ansatz dafür. – Srikanta

+1

Die verknüpfte Frage ist völlig relevant ... Sie haben NoSuchMethodError und so haben Sie eine unpassende "Persistence-API" Jar in der CLASSPATH, die nicht über die Methode verfügt. Ja, Sie können auch eine andere Persistenz-API haben, die es aber nicht gefunden hat! –

Antwort

0

Bei der weiteren Untersuchung des spezifischen Abschnitts der stacktrace unter:

Caused by: java.lang.NoSuchMethodError: javax.persistence.EntityManagerFactory.getMetamodel()Ljavax/persistence/metamodel/Metamodel; 
at org.springframework.data.jpa.repository.config.JpaMetamodelMappingContextFactoryBean.getMetamodels(JpaMetamodelMappingContextFactoryBean.java:90) 
at org.springframework.data.jpa.repository.config.JpaMetamodelMappingContextFactoryBean.createInstance(JpaMetamodelMappingContextFactoryBean.java:56) 
at org.springframework.data.jpa.repository.config.JpaMetamodelMappingContextFactoryBean.createInstance(JpaMetamodelMappingContextFactoryBean.java:26) 

ich beobachtet, dass JpaMetamodelMappingContextFactoryBean.java auf eine alte Version von javax.persistence Bibliothek wurde unter Bezugnahme auf welche verwiesen wurde Fehler.

Ich nahm die obige Lib von Maven und richtete die Abhängigkeiten auf dieser Lib in Richtung org.eclipse.persistence-Bibliothek. Dies hatte eine Implementierung der EntityManagerFactory mit der Implementierung der Methode getMetamodel().

So wurde das Problem gelöst.