2015-06-12 10 views
6

का उपयोग कर परीक्षण चलाने जब Arquillian परीक्षण चलाने मैं निम्न त्रुटिjava.util.ServiceConfigurationError जब Arquillian + omnifaces

"java.util.ServiceConfigurationError: javax.servlet.ServletContainerInitializer: Provider org.omnifaces.ApplicationInitializer not found"

हो रही है।

मैं सबसे बुनियादी परीक्षण मामले मैं यहाँ सकता है डाल दिया है: https://www.dropbox.com/s/kou5v8kqs5g4g4m/test.zip?dl=0

+0

क्या आप आर्किलियन + मेवेन या आर्किलियन स्टैंडअलोन का उपयोग कर रहे हैं? कम से कम समस्या यह बताती है कि आर्किलीयन के रनटाइम क्लासपाथ में ओमनीफेस लाइब्रेरी गुम है। – BalusC

+0

मैं आर्किलीयन + मेवेन का उपयोग कर रहा हूं, जबकि यह क्लासपाथ मुद्दे की तरह दिखता है, अजीब हिस्सा यह है कि org.omnifaces.AplicationInitializer एक ही जार में मेटा-आईएनएफ/सेवाएं/javax.servlet.ServletContainerInitializer के रूप में है, क्योंकि वह सेवा है एप्लिकेशनइनाइज़र को लोड करने का क्या कारण बन रहा है। मुझे समस्या मिली और जल्द ही समाधान पोस्ट कर देगा। – LoneWolf

उत्तर

7

एक निर्मित युद्ध भागने की कोशिश कर और Wildfly स्टैंडअलोन पर इसे चलाने के बाद, मैं, Arquillian को समस्या को संकीर्ण करने में कामयाब परीक्षण Arquillian + Glassfish एम्बेडेड के बाद और समस्याओं के बिना चल रहा था, मुझे लगा कि यह मुद्दा आर्किलियन + वाइल्डफ्लाई था, और कुछ और गुगल रहा था और मुझे इसी तरह के मुद्दे मिल गए जो आर्किलीयन के साथ एम्बेडेड वाइल्डफ्लाई का उपयोग करने से संबंधित थे और आर्किलीयन के साथ प्रबंधित जंगली उड़ान अच्छी तरह से चलती है, यही कारण है कि मैं वास्तव में नहीं बता सकता कुछ प्रकार की बग की तरह लगता है, लेकिन एम्बेडेड लोगों के बजाय आर्किलीयन परीक्षणों के लिए प्रबंधित या दूरस्थ कंटेनर का उपयोग करने के लिए ऑनलाइन सामान्य सलाह की तरह लगता है।

तो समाधान बहुत आसान है सिर्फ इस हटाया:

<dependency> 
     <groupId>org.wildfly</groupId> 
     <artifactId>wildfly-arquillian-container-embedded</artifactId> 
     <version>8.2.0.Final</version> 
     <scope>test</scope> 
    </dependency> 
    <dependency> 
     <groupId>org.wildfly</groupId> 
     <artifactId>wildfly-embedded</artifactId> 
     <version>8.2.0.Final</version> 
     <scope>provided</scope> 
    </dependency> 

और इस कहा:

<dependency> 
     <groupId>org.wildfly</groupId> 
     <artifactId>wildfly-arquillian-container-managed</artifactId> 
     <version>8.2.0.Final</version> 
     <scope>test</scope> 
    </dependency> 

समाधान समाप्त होता है Wildfly Arquillian साथ एम्बेडेड का उपयोग नहीं किया जा रहा, लेकिन इसके बजाय कामयाब रहे।