2013-10-30 20 views
7

मैंने अपने जावाईई प्रोजेक्ट में कुछ पुस्तकालय जोड़े और फिर एप्लिकेशन कार्यों को तैनात किया। मैं कुछ संशोधित और मैं ग्रहण में इस त्रुटि संदेश मिला:ग्लासफ़िश 4 परिनियोजन त्रुटि

Cannot Deploy ProjectName 
deploy is failing=Error occurred during deployment: Keys cannot be duplicate. 
Old value of     this key property, nullwill be retained. 
Please see server.log for more details. 
java.lang.LinkageError: loader (instance of 
org/glassfish/web/loader/WebappClassLoader): 
attempted duplicate class definition for name: 
"org/glassfish/web/loader/JdbcLeakPrevention" 
loader (instance of org/glassfish/web/loader/WebappClassLoader): attempted duplicate 
class definition for name: "org/glassfish/web/loader/JdbcLeakPrevention" 

मैं कुछ शोध कर दिया और मुझे पता चला है कि यह एक ग्रहण बग नहीं है। मैं केप्लर के साथ काम कर रहा हूं लेकिन मैंने जूनो के साथ भी परीक्षण किया। एक ही त्रुटि संदेश मिला। मैंने ग्लासफ़िश 3.1.2.2 डाउनलोड किया और संदेश चला गया।

मुझे यह संदेश क्यों मिल रहा है?

+0

क्या आपने हाल ही में जेडीके 7 से जेडीके 8 तक स्विच किया था। यह त्रुटि उस संदर्भ में देखी जा रही है, जैसा कि: https://groups.google.com/forum/#!msg/adopt-openjdk/DzRXD2fx1d0/Lt0aEVaUteQJ – VonC

+0

@VonC नहीं, मैं जेडीके 7 अपडेट 13 – galovics

+0

का उपयोग कर रहा हूं यह मुद्दा देखने के लिए कि क्या समस्या बनी रहती है, आप नवीनतम जेडीके 7 (यू 45) में अपग्रेड कर सकते हैं? – VonC

उत्तर

0

प्रयास करें, autodeploy निर्देशिका साफ करने के लिए सर्वर को पुनरारंभ करें। परियोजना परिनियोजन निर्देशिका को भी साफ करें।

+0

यह किया गया है। कुछ नहीं बदलता है। – galovics

3

मुझे यह समस्या भी थी, और मैं एसवीएनकिट लाइब्रेरी और इसकी निर्भरताओं का भी उपयोग कर रहा था, ऐसा लगता है कि वहां कुछ प्रकार का संघर्ष है। मैं osgi-cache फ़ोल्डर & ग्लासफ़िश को पुनरारंभ करने के द्वारा इसे चारों ओर प्राप्त कर सकता हूं, लेकिन मुझे हर बार ऐसा करना है जब मैं तैनाती करना चाहता हूं, इसलिए कोई अच्छा समाधान नहीं है।

+1

https: //agritsik.wordpress।कॉम/2015/08/26/कैसे-से-साफ़-ग्लासफ़िश-कैश-सहायता-से-हल-तैनाती-अपवाद-असंगत-मॉड्यूल-राज्य/ – shareef

+0

लिंक किया गया लेख खाली है (आलेख के तहत टिप्पणी देखें)। नए समाधान की सराहना की। – DaRich

4

मुझे एक ही त्रुटि थी। मैंने GLassfish सर्वर को रोक दिया और फिर मैंने प्रोजेक्ट को साफ़ किया (प्रोजेक्ट -> क्लीन ...)। सर्वर शुरू किया और

0

किसी भी तरह से @Singleton बीन से संबंधित था। इसे @Stateless में परिवर्तित कर दिया और सब कुछ ठीक काम किया। काफी सुनिश्चित नहीं हैं कि ऐसा क्यों हुआ ...

0

मेरी Glassfish लॉग फ़ाइल में यह कहते हैं:

नाम ws साथ

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

लेने अपने लॉग निर्देशों का पालन करना मैं --force विकल्प के साथ साथ एप्लिकेशन तैनात:

asadmin deploy --force=true ws.war 

और यह काम किया। deploy --force=true

1

पर अधिक जानकारी osgi-cache और जेनरेट की गई निर्देशिकाओं के अंतर्गत सभी फ़ाइलों को निकालने का प्रयास करें। यह मेरे लिए काम किया।

0

निम्न चरणों को मेरे लिए काम किया।

  1. glassfish सर्वर रोक (यदि चल रहा है)
  2. सभी जावा प्रक्रिया
  3. अब पुनर्वितरित की कोशिश (टर्मिनल या गतिविधि मॉनिटर का प्रयोग करके) मार डालते हैं।
संबंधित मुद्दे