2017-10-25 50 views
11

ठीक है स्टैक ओवरफ्लो, मैं आवश्यकता के समय आपके पास आ रहा हूं।जैस्पर एक्सेप्शन - फ़ाइल मौजूद होने पर भी फ़ाइल नहीं मिली

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

अनिवार्य रूप से, मुझे केवल दो सर्वरों में से एक पर अपवाद मिल रहा है। इसे कहते हैं:

org.apache.sling.api.scripting.ScriptEvaluationException: org.apache.sling.scripting.jsp.jasper.JasperException: फ़ाइल "/META-INF/tags/helloWorld.tagx" नहीं मिला

अब - यह helloWorld.tagx एक टेम्पलेट प्रोजेक्ट से छोड़ा गया कचरा है, लेकिन किसी कारण से यह आवश्यक है। यहां कुछ मुद्दे हैं।

  1. टैग सही स्थान (META-INF/tags/helloWorld.tagx) में है और मैं tld फ़ाइल जो मेरे लिए सही लगती है उत्पन्न करने के लिए jsptld-maven-plugin उपयोग कर रहा हूँ।

प्लगइन के लिए विन्यास (और साथ ही maven-bundle-plugin):

 <plugin> 
      <groupId>com.squeakysand.jsp</groupId> 
      <artifactId>jsptld-maven-plugin</artifactId> 
      <configuration> 
       <shortName>myproject</shortName> 
       <processTagFiles>true</processTagFiles> 
      </configuration> 
      <executions> 
       <execution> 
        <goals> 
         <goal>generate</goal> 
        </goals> 
       </execution> 
      </executions> 
     </plugin> 
     <plugin> 
      <groupId>org.apache.felix</groupId> 
      <artifactId>maven-bundle-plugin</artifactId> 
      <extensions>true</extensions> 
      <configuration> 
       <instructions> 
        <Bundle-Activator>com.rebny.taglib.osgi.Activator</Bundle-Activator> 
        <Include-Resource> 
         META-INF/${project.artifactId}-${project.version}.tld=${project.build.outputDirectory}/META-INF/${project.artifactId}-${project.version}.tld, 
         {maven-resources} 
        </Include-Resource> 
        <Sling-Bundle-Resources> 
         /META-INF/tags 
        </Sling-Bundle-Resources> 
       </instructions> 
      </configuration> 
     </plugin> 

और जिसके परिणामस्वरूप टीएलडी फ़ाइल से खंड:

<tag-file> 
    <name>helloWorld</name> 
    <path>/META-INF/tags/helloWorld.tagx</path> 
</tag-file> 

तो यह मेरे लिए ठीक लग रहा है, और मैंने बहुत सारी खोज की है और सिंटैक्स त्रुटियों वाले लोगों को पाया है, लेकिन मुझे विश्वास नहीं है कि यहां मामला होना है, खासकर जब से यह एक सर्वर पर काम करता है।

  1. अजीब हिस्सा टैग वास्तव में नहीं है कहीं भी इस्तेमाल किया है, लेकिन इसे हटाने से समस्या का समाधान नहीं है। इस त्रुटि को फेंकने वाला जेएसपी अन्य टैग का उपयोग करता है, लेकिन यह नहीं। पूरी परियोजना में इस टैग का सचमुच कोई संदर्भ नहीं है - मुझे लगता है कि यह एक और मुद्दा छुपा रहा है। त्रुटि कहती है कि यह जेएसपी की लाइन 6 पर है, लेकिन न तो स्रोत जेएसपी या संकलित जेएसपी के पास लाइन 6 पर या फ़ाइल में कुछ भी दिलचस्प है। फिर भी, संकलित जेएसपी के पास इस टैग का कोई संदर्भ नहीं है!

मुझे अन्य जानकारी प्रदान करने में खुशी है। इसका मेरा ज्ञान बहुत खराब है, इसलिए मुझे बिल्कुल यकीन नहीं है कि कौन सी जानकारी प्रासंगिक है। किसी भी मदद या समस्या निवारण युक्तियों की बहुत सराहना की है!

पूर्ण स्टैक ट्रेस here

+0

आपकी दो मशीनें अलग-अलग कैसे होती हैं? जैसे सब कुछ का एक ही संस्करण, एक ही सॉफ्टवेयर, आदि? – mikep

+0

पूर्ण स्टैकट्रैक सहायक होगा –

+0

आप कौन से ऐप सर्वर/कंटेनर का उपयोग कर रहे हैं? क्या आप कृपया, वेब-आईएनएफ/lib में शामिल फ़ाइलों की सूची प्रदान कर सकते हैं? Web.xml में टीएलडी के बारे में क्या - क्या आप web.xml प्रदान कर सकते हैं? बीटीडब्लू: मुझे लगता है कि आपका निर्माण साधारण मैवेन बिल्ड है, फैंसी निकालने के बिना, मरम्मत करना। –

उत्तर

1

आपकी सर्वश्रेष्ठ शर्त Adobe Daycare से गुज़रना है। वे आपको पैच प्राप्त करने के बारे में बहुत अच्छे हैं। विशेष रूप से यदि आपके ग्राहक के साथ उनके साथ मौजूदा संबंध हैं, तो उन्हें एईएम का उपयोग करना चाहिए।

0

मुद्दे से संबंधित है को पटकथा टैग फ़ाइलों नहीं पाए जाते हैं। Reference

यह एक बग जो यह बताता है, एक बंडल में एक taglib, का संदर्भ एक टैग एक स्क्रिप्ट (located in /META-INF/tags) इस स्क्रिप्ट के रूप में लागू नहीं पाया जाता है के रूप में यह नहींtld युक्त समूह के अंदर स्थित खोजा गया है है। इसका उपयोग क्लासपाथ पर संसाधन के रूप में किया जाता है।

बग जेएसपी 2.3.2 संस्करण में फिक्स्ड किया गया है। तो अपनी परियोजना में इस जेएसपी संस्करण का उपयोग करें। इसके अलावा, यह बग एईएम 6.3.1.1 या उच्च,

यहां तय किया गया है, इस समस्या से संबंधित उपयोगी thread है।

+0

मैं उत्तर की सराहना करता हूं, लेकिन आप देखेंगे कि मैंने पहले से ही उस धागे पर टिप्पणी की है। दुर्भाग्यवश एईएम का संस्करण नवंबर के अंत तक उपलब्ध नहीं है और यह बहुत दूर है। –

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