2012-01-04 25 views
14

जब ग्रहण में मेरी JSF 2 अनुप्रयोग चल रहा कई जानकारी लॉग टीएलडी क्योंकि यह पहले से ही परिभाषित किया है इस प्रकार छोड़ दिया गया हो रही है:"जानकारी: टीएलडी छोड़ दिया क्या है। यूआरआई पहले ही परिभाषित है" मतलब?

Jan 3, 2012 7:24:45 PM org.apache.catalina.startup.TaglibUriRule body 
INFO: TLD skipped. URI: http://www.springframework.org/tags/form is already defined 
Jan 3, 2012 7:24:45 PM org.apache.catalina.startup.TaglibUriRule body 
INFO: TLD skipped. URI: http://www.springframework.org/tags is already defined 
Jan 3, 2012 7:24:45 PM org.apache.catalina.startup.TaglibUriRule body 
INFO: TLD skipped. URI: http://java.sun.com/jstl/core_rt is already defined 
Jan 3, 2012 7:24:45 PM org.apache.catalina.startup.TaglibUriRule body 
INFO: TLD skipped. URI: http://java.sun.com/jstl/core is already defined 
Jan 3, 2012 7:24:45 PM org.apache.catalina.startup.TaglibUriRule body 
INFO: TLD skipped. URI: http://java.sun.com/jsp/jstl/core is already defined 
Jan 3, 2012 7:24:45 PM org.apache.catalina.startup.TaglibUriRule body 
INFO: TLD skipped. URI: http://java.sun.com/jstl/fmt_rt is already defined 
Jan 3, 2012 7:24:45 PM org.apache.catalina.startup.TaglibUriRule body 
INFO: TLD skipped. URI: http://java.sun.com/jstl/fmt is already defined 
Jan 3, 2012 7:24:45 PM org.apache.catalina.startup.TaglibUriRule body 
INFO: TLD skipped. URI: http://java.sun.com/jsp/jstl/fmt is already defined 
Jan 3, 2012 7:24:45 PM org.apache.catalina.startup.TaglibUriRule body 
INFO: TLD skipped. URI: http://java.sun.com/jsp/jstl/functions is already defined 
Jan 3, 2012 7:24:45 PM org.apache.catalina.startup.TaglibUriRule body 
INFO: TLD skipped. URI: http://jakarta.apache.org/taglibs/standard/permittedTaglibs is already defined 
Jan 3, 2012 7:24:45 PM org.apache.catalina.startup.TaglibUriRule body 
INFO: TLD skipped. URI: http://jakarta.apache.org/taglibs/standard/scriptfree is already defined 
Jan 3, 2012 7:24:45 PM org.apache.catalina.startup.TaglibUriRule body 
INFO: TLD skipped. URI: http://java.sun.com/jstl/sql_rt is already defined 
Jan 3, 2012 7:24:45 PM org.apache.catalina.startup.TaglibUriRule body 
INFO: TLD skipped. URI: http://java.sun.com/jstl/sql is already defined 
Jan 3, 2012 7:24:45 PM org.apache.catalina.startup.TaglibUriRule body 
INFO: TLD skipped. URI: http://java.sun.com/jsp/jstl/sql is already defined 
Jan 3, 2012 7:24:45 PM org.apache.catalina.startup.TaglibUriRule body 
INFO: TLD skipped. URI: http://java.sun.com/jstl/xml_rt is already defined 
Jan 3, 2012 7:24:45 PM org.apache.catalina.startup.TaglibUriRule body 
INFO: TLD skipped. URI: http://java.sun.com/jstl/xml is already defined 
Jan 3, 2012 7:24:45 PM org.apache.catalina.startup.TaglibUriRule body 
INFO: TLD skipped. URI: http://java.sun.com/jsp/jstl/xml is already defined 

मैं जानने के लिए उत्सुक हूँ, क्या यह लॉग मतलब है?

+0

कृपया अपने प्रश्नों को दोबारा पोस्ट करने से बचें। – NullUserException

+2

जुड़ा हुआ डुप्लिकेट पोस्ट हटा दिया गया है –

उत्तर

11

इसका मतलब है कि आपके वेबपैप के रनटाइम क्लासपाथ में आपके पास डुप्लिकेट टीएलडी फ़ाइलें हैं। चूंकि टीएलडी सामान्य रूप से लाइब्रेरी जेएआर फाइलों में निहित होते हैं, इसलिए इसका मतलब यह है कि आपके वेबपैप के रनटाइम क्लासपाथ में आपके पास डुप्लिकेट जेएआर फ़ाइलें हैं।

यह मानते हुए कि आप appserver के /lib फ़ोल्डर है और न ही JDK के /lib फ़ोल्डरों छुआ है, तो उन डुप्लिकेट युद्ध निर्माण के /WEB-INF/lib फ़ोल्डर में हैं। इसे साफ़ करें कल्पना के लिए आवश्यक यूआरआई के

3

प्राथमिकता क्रम है:

J2EE platform taglibs - Tomcat doesn't provide these 

web.xml entries 

JARS in WEB-INF/lib & TLDs under WEB-INF (equal priority) 

Additional entries from the container 

बिलाव भार दो बार टीएलडी।

1, जब टॉमकैट शुरू होता है, तो यह tld फ़ाइलों में श्रोताओं को खोजने के लिए tld लोड करता है।

2, जब पहली जेएसपी फ़ाइल संकलित की जाती है, तो यह tld जोड़े का कैश बनाता है।

1, लोड टीएलडी टीएलडी फाइलों में श्रोताओं को खोजने के लिए

जब web.xml से लोड हो रहा है, यह taglib-uri web.xml और uri से टीएलडी फ़ाइल से एक सेट में डालता है। वेब-आईएनएफ या जार से लोड करते समय, यूरी tld फ़ाइल से है।

टोमकैट को डुप्लिकेट टीएलडी श्रोता जोड़ने से बचने की जरूरत है, इसलिए यह जांचता है कि सेट में यूरी मौजूद है या नहीं। यदि यूरी पहले से मौजूद है, तो आपके द्वारा पोस्ट किए गए संदेशों को लॉग करता है और tld श्रोता जोड़ने को छोड़ देता है।

2, कैश

1) web.xml प्रविष्टियों का निर्माण, टैग uri वेब-INF तहत web.xml से मिल गया है

2) स्कैन टीएलडी फ़ाइलें, टैग uri से मिल गया है tld फ़ाइलें

3) जार स्कैन करें, टैग यूरी tld फ़ाइलों से प्राप्त है।

यदि यूरी अस्तित्व मौजूद है, तो प्रविष्टि को अनदेखा कर दिया जाएगा।

0

इसका मतलब है उदाहरण के लिए यदि आप टोमकैट और मेवेन (या अन्य सर्वर) का उपयोग करते हैं, तो आप एक जेएसटीएल लाइब्रेरी भेजते हैं जो पहले से ही सर्वर पर पाया जाता है और सर्वर शिकायत करता है।

<dependency> 
     <groupId>javax.servlet</groupId> 
     <artifactId>jstl</artifactId> 
     <version>1.2</version> 
    </dependency> 

बार जब आप आवेदन (बिलाव पर) तैनात किया जाता है पर उसके बाद आप त्रुटि संदेश मिलता है:

INFO: TLD skipped. URI: http://java.sun.com/jstl/core_rt is already defined 
Mar 02, 2017 2:19:32 PM org.apache.catalina.startup.TaglibUriRule body 

समाधान टैग 'गुंजाइश' और 'प्रदान की' के मान का उपयोग करने के लिए कारण है जेएसटीएल पहले ही टॉमकैट के साथ भेज दिया गया है (यह केवल आपके आईडीई के लिए है):

<dependency> 
     <groupId>javax.servlet</groupId> 
     <artifactId>jstl</artifactId> 
     <version>1.2</version> 
     <scope>provided</scope> 
    </dependency> 

तब त्रुटि गायब हो जाएगी।