मेरे पास एक स्प्रिंग बूट वॉर एप्लिकेशन है जो पूरी तरह से एडब्ल्यूएस पर टॉमकैट 8.0.3 9 के तहत काम कर रहा है। sudo service tomcat8 stop
जारी करने के बाद, टॉमकैट 8.0.41 से sudo yum update
तक अपग्रेड करने और इंस्टेंस को रीबूट करने के बाद, एप्लिकेशन प्रारंभ नहीं होता है। Catalina लॉग फ़ाइल में, मैं प्रकार के अपवाद की एक टन देखें:टॉमकैट 8.0.3 9 से 8.0.41 तक अपग्रेड परिणाम 'स्कैन करने में विफल' त्रुटियों में
javax.annotation-api.jar
jsr181-api.jar
jaxb-api.jar
javax.xml.soap-api.jar
FastInfoset.jar
mimepull.jar
saaj-impl.jar
stax2-api.jar
woodstox-core-asl.jar
jaxb-core-2.2.10-b140802.1033.jar
jaxb-api-2.2.12-b140109.1041.jar
istack-commons-runtime-2.19.jar
txw2-2.2.10-b140802.1033.jar
hk2-core.jar
class-model.jar
config.jar
auto-depends.jar
javax.inject.jar
hk2-api.jar
osgi-resource-locator.jar
tiger-types.jar
bean-validator.jar
jtype.jar
पर कोई सुझाव कैसे इसे ठीक करने के:
19-Feb-2017 10:27:15.326 WARNING [localhost-startStop-1] org.apache.tomcat.util.
scan.StandardJarScanner.scan Failed to scan [file:/usr/share/java/tomcat8/javax.
annotation-api.jar] from classloader hierarchy
java.io.FileNotFoundException: /usr/share/java/tomcat8/javax.annotation-api.jar
(No such file or directory)
यहाँ फ़ाइलें हैं बिलाव के बारे में शिकायत?
# अद्यतन 1:
ऊपर फ़ाइलों में से कुछ jaxws-ri
के हैं। यह पता चला कि मेरे पास कुछ (10) था, लेकिन सभी (23), जेएक्स-डब्ल्यूएस आरआई 2.2.10 lib
निर्देशिका के जारों की टोमकैट की lib
निर्देशिका में कॉपी की गई थी। लापता 13 जार कॉपी करने के बाद, फ़ाइलों की सूची बिलाव Catalina लॉग फ़ाइल में के बारे में शिकायत करने के लिए सिकुड़ गई है:। ऊपर फ़ाइलों के लिए
jaxb-core-2.2.10-b140802.1033.jar
jaxb-api-2.2.12-b140109.1041.jar
istack-commons-runtime-2.19.jar
txw2-2.2.10-b140802.1033.jar
hk2-core.jar
class-model.jar
config.jar
auto-depends.jar
javax.inject.jar
hk2-api.jar
osgi-resource-locator.jar
tiger-types.jar
bean-validator.jar
jtype.jar
(अपवाद लॉग फ़ाइल में कई बार दोहराया जाता है ऐसा लगता है कि स्कैनर है स्टार्टअप पर बार-बार आह्वान किया गया, शायद विभिन्न वर्ग पथ स्कैनिंग।)
यह मुझे बताता है कि 8.0.3 9 से 8.0.41 तक संक्रमण के साथ, टॉमकैट अचानक सभी संदर्भित जारों की उपस्थिति के बारे में बहुत पसंद आया, भले ही एप्लिकेशन काम करता है उनमें से कई के बिना बिल्कुल ठीक है। इसके अलावा, टॉमकैट कुछ जार के विशिष्ट निर्माण के बारे में बहुत खास प्रतीत होता है (उदाहरण के लिए ऊपर jaxb-core...
और jaxb-api...
जार देखें)।
अब, इसे ठीक करने के लिए मैं इन सभी लापता जारों को ढूंढने की कोशिश कर सकता हूं और उन्हें टॉमकैट की lib
निर्देशिका में कॉपी कर सकता हूं। हालांकि, मुझे सामान्य नामों, जैसे कि config.jar
, या अनुपलब्ध संस्करण संख्याओं के कारण उनमें से कुछ के लिए उचित स्रोत को आश्वस्त करने का कोई तरीका नहीं दिखता है।
तो, क्या इन सभी जारों के बारे में इतना चुनौतीपूर्ण होने से टॉमकैट के scan.StandardJarScanner.scan
को रोकने का कोई तरीका है?
अद्यतन # 2:
ऐसा लगता है कि बिलाव 8.0.38 में, एक सेटिंग जार स्कैनिंग, true
को जो चूक का मूल्य नियंत्रित करने के लिए जोड़ा गया है। बंद स्कैनिंग करने के लिए, context.xml
में निम्नलिखित पंक्ति जोड़ें:
<Context>
...
<JarScanner scanManifest="false"/>
</Context>
जानकारी के लिए, Provide an option to disable processing of Class-Path entry in a jar's manifest file देखते हैं।
फ़ाइलें मौजूद नहीं हैं। यदि टोमकैट 8.0.41 को उनकी आवश्यकता है (और 8.0.3 9 स्पष्ट रूप से नहीं किया गया है), तो उन्हें 'यम अपडेट' के साथ आना चाहिए, लेकिन स्पष्ट रूप से उन्होंने नहीं किया। – user1408140
तो स्थापित करने के लिए 'rpm -ql tomcat | more' के साथ शुरू करें और यह सुनिश्चित करें कि फ़ाइलें वास्तव में गायब हैं और कहीं अप्रत्याशित नहीं हैं। –