2010-02-16 20 views
32

के साथ जेएसटीएल निर्भरता शामिल करें मैं maven2 का उपयोग कर रहा हूं, मैं जेएसटीएल (जेएसपी मानक टैग लाइब्रेरी) पर निर्भरता कैसे जोड़ूं?मेवेन

+0

वहाँ संस्करण 1.1.2, 1.2 संस्करण के बीच एक सूक्ष्मता है, बिलाव और ग्लासफिश। विवरण के लिए यहां देखें: http://tshikatshikaaa.blogspot.nl/2012/07/how-to-add-jslt-taglibs-in-maven-project.html – JVerstry

उत्तर

31

आपको इसे अपनी pom.xml फ़ाइल में जोड़ना होगा।

निर्भरता नोड में आपको जेएसटीएल का संदर्भ जोड़ने की आवश्यकता है। आपको शायद संकलन करने के लिए अपने दायरे को सेट करने की आवश्यकता होगी। तो यह इस

<dependency> 
    <groupId>javax.servlet</groupId> 
    <artifactId>jstl</artifactId> 
    <version>"whatever version you need"</version> 
    <scope>runtime</scope> 
</dependency> 

यह आपको अपने pom.xml या settings.xml में Maven वितरण भंडार के लिए उचित संदर्भ हो संभालने है कुछ ऐसा दिखाई देगा

+0

क्या इसमें 'standard.jar' भी शामिल है? मैं ग्लासफ़िश का उपयोग कर रहा हूं, केवल 'जेएसटीएल' निर्भरता कार्य सहित? –

33

निर्भरता ऊपर उल्लेख किया है मेरे लिए काफी नहीं है (टोमकैट 5.x का उपयोग सर्वलेट कंटेनर के रूप में करते हुए, जो जेएसटीएल कार्यान्वयन को स्वयं प्रदान नहीं करता है)। यह सिर्फ जेएसटीएल इंटरफ़ेस पैकेज के अनुसार प्रोजेक्ट में आयात करता है, और टॉमकैट में रनटाइम त्रुटि का कारण बनता है।

यहां मेरी परियोजना में उपयोग किया जाने वाला निर्भरता हिस्सा है, उम्मीद है कि दूसरों की मदद कर सकते हैं। सबसे कठिन हिस्सा भंडार में अपाचे के जेएसटीएल कार्यान्वयन का नामकरण है।

<dependency> 
     <groupId>javax.servlet</groupId> 
     <artifactId>jstl</artifactId> 
     <version>1.1.1</version> 
     <scope>runtime</scope> 
    </dependency> 
    <dependency> 
     <groupId>taglibs</groupId> 
     <artifactId>standard</artifactId> 
     <scope>runtime</scope> 
     <version>1.1.1</version> 
    </dependency> 
    <dependency> 
     <groupId>taglibs</groupId> 
     <artifactId>c</artifactId> 
     <version>1.1.1</version> 
     <scope>runtime</scope> 
     <type>tld</type> 
    </dependency> 
    <dependency> 
     <groupId>taglibs</groupId> 
     <artifactId>fmt</artifactId> 
     <version>1.1.1</version> 
     <scope>runtime</scope> 
     <type>tld</type> 
    </dependency> 
+0

टाइप tld क्या है? – dcompiled

+0

@dcompiled मुझे इस पर आधिकारिक दस्तावेज नहीं मिला है, लेकिन मेरे अनुमान के लिए, "टैग लाइब्रेरी डिस्क्रिप्टर" के लिए tld खड़ा है, जो स्वयं XML फ़ाइल है। रिकॉर्ड के लिए –

+0

, मैं tomcat 7 का उपयोग कर रहा हूं और स्वीकृत उत्तर में दिया गया एक मेरे लिए पर्याप्त लगता है ... – eis

3
<dependency> 
<groupId>jstl</groupId> 
<artifactId>jstl</artifactId> 
<version>1.2</version> 
</dependency> 

http://mvnrepository.com/artifact/jstl/jstl/1.2

+5

jstl समूह आईडी को बहिष्कृत किया जाना चाहिए। इसके बजाय javax.servlet का उपयोग करें। –

1

मैं एक ही समस्या थी। मैंने इसे जावा बिल्ड पथ में अपाचे टॉमकैट लाइब्रेरी जोड़कर हल किया।

मेरी स्क्रीनशॉट, मैं Maven उपयोग कर रहा हूँ देखें:

जोड़ने बिलाव पुस्तकालयों से पहले:

desc

बिलाव पुस्तकालयों को जोड़ने के बाद:

desc

1

से: apache taglib

 <!-- TAGLIB: --> 
      <dependency> 
      <groupId>org.apache.taglibs</groupId> 
      <artifactId>taglibs-standard-spec</artifactId> 
      <version>1.2.1</version> 
     </dependency> 

     <dependency> 
      <groupId>org.apache.taglibs</groupId> 
      <artifactId>taglibs-standard-impl</artifactId> 
      <version>1.2.1</version> 
     </dependency> 
      <!-- From taglib doc: To use this distribution with your own web applications, add the following JAR 
       files to the '/WEB-INF/lib' directory of your application: 
        - taglibs-standard-spec-1.2.1.jar 
        - taglibs-standard-impl-1.2.1.jar 
        - taglibs-standard-jstlel-1.2.1.jar 
        - xalan-2.7.1.jar 
        - serializer-2.7.1.jar 
      --> 
     <dependency> 
     <groupId>xalan</groupId> 
     <artifactId>xalan</artifactId> 
     <version>2.7.1</version> 
    </dependency> 

     <dependency> 
     <groupId>xalan</groupId> 
     <artifactId>serializer</artifactId> 
     <version>2.7.1</version> 
    </dependency> 
    <!-- TAGLIB: --> 
0
<!-- standard.jar --> 
<dependency> 
    <groupId>taglibs</groupId> 
    <artifactId>standard</artifactId> 
    <version>1.1.2</version> 
</dependency> 

<!-- JSTL --> 
<dependency> 
    <groupId>javax.servlet</groupId> 
    <artifactId>jstl</artifactId> 
    <version>1.1.2</version> 
</dependency>