2017-07-20 16 views
5

जावा प्रोजेक्ट में, मैं स्पिग बूट 1.5.3.RELEASE का उपयोग कर रहा हूं। यह दो डेटाबेस से कनेक्ट हो रहा है यानी मोंगोडीबी और माइक्रोसॉफ्ट एसक्यूएल सर्वर। जब मैं इसे वसंत-बूट के साथ चलाता हूं: लक्ष्य चलाएं, यह ठीक काम करता है। हालांकि, जब मैं कोशिश इस तथ्य के बावजूद पैकेज के साथ इसे चलाने के लिए लक्ष्य तो नीचे त्रुटि परीक्षण मामलों द्वारा बताया जाता है कि उन परीक्षण मामलों एसक्यूएल सर्वर डेटाबेस से कनेक्ट नहीं कर रहे हैं:टाइप की कोई योग्यता बीन 'org.springframework.boot.orm.jpa.EntityManagerFactoryBuilder' उपलब्ध

Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'org.springframework.boot.orm.jpa.EntityManagerFactoryBuilder' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {} 
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.raiseNoMatchingBeanFound(DefaultListableBeanFactory.java:1486) 
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1104) 
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1066) 
    at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:835) 
    at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:741) 
    at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:467) 
    ..... 
    ..... 

MediationTest.java (जावा वर्ग त्रुटि ऊपर पैदा परीक्षण मामलों)

@RunWith(SpringRunner.class) 
@DataMongoTest(excludeAutoConfiguration = EmbeddedMongoAutoConfiguration.class) 
@SpringBootTest(classes = { Application.class }) 
public class MediationTest { 

    @Autowired 
    private SwiftFormat swiftFormat; 
    ...................... 
    ...................... 

MsqlDbConfig.java

युक्त 0

application.properties

spring.data.mongodb.uri=mongodb://dev-abc-123:27017/db 

msql.datasource.url=jdbc:sqlserver://ABC-SQL14-WXX;databaseName=dev 
msql.datasource.username=dev 
msql.datasource.password=***** 
msql.datasource.driverClassName=com.microsoft.sqlserver.jdbc.SQLServerDriver 
msql.jpa.hibernate.dialect=org.hibernate.dialect.SQLServer2012Dialect 
spring.jpa.hibernate.naming_strategy=org.hibernate.cfg.EJB3NamingStrategy 
spring.jpa.show-sql=true 
+0

क्या लॉग में कोई और अपवाद नहीं है? – galovics

+0

क्या आप इन परीक्षणों को अपने आईडीई से चलाने पर काम करते हैं? – Ben

उत्तर

2

वसंत-बूट: रन लक्ष्य मोजो द्वारा परिभाषित किया गया है वसंत-बूट-Maven-प्लगइन परियोजना के भीतर शामिल थे। आप इसे यहां देख सकते हैं। https://github.com/spring-projects/spring-boot/blob/8e3baf3130220a331d540cb07e1aca263b721b38/spring-boot-tools/spring-boot-maven-plugin/src/main/java/org/springframework/boot/maven/RunMojo.java

requiresDependencyResolution स्कोप टेस्ट पर सेट है। इसमें कक्षा के प्रत्येक चरण से निर्भरता शामिल होगी। यहां विनिर्देश पर एक नज़र डालें। https://maven.apache.org/developers/mojo-api-specification.html

पैकेज Maven द्वारा प्रदान की लक्ष्य classpath पर इन अतिरिक्त निर्भरता शामिल नहीं होगा और मुझे विश्वास है कि अपने मुद्दों का कारण है।

स्प्रिंग बूट पुन: पैकेज लक्ष्य प्रदान करता है जिसका निष्पादन योग्य वसंत-बूट अनुप्रयोगों के निर्माण के लिए उपयोग किया जाना चाहिए।

हालांकि, बिंदु पर और अधिक पाने के लिए। मुझे लगता है कि यदि आप एक अतिरिक्त कक्षा को बाहर करने के लिए अपना परीक्षण अपडेट करते हैं तो यह आपकी समस्या को ठीक कर सकता है।

@DataMongoTest(excludeAutoConfiguration = {EmbeddedMongoAutoConfiguration.class, HibernateJpaAutoConfiguration.class})

संबंधित मुद्दे