2010-09-17 16 views
39

मैं here दिए गए नमूना टाइल्स उदाहरण चलाने की कोशिश कर रहा हूं।NoClassDefFoundError: org/slf4j/impl/StaticLoggerBinder

नीचे मेरी pom.xml है:

<dependencies> 
     <dependency> 
      <groupId>junit</groupId> 
      <artifactId>junit</artifactId> 
      <version>3.8.1</version> 
      <scope>test</scope> 
     </dependency> 
     <dependency> 
      <groupId>org.apache.tiles</groupId> 
      <artifactId>tiles-api</artifactId> 
      <version>2.1.2</version> 
     </dependency> 
     <dependency> 
      <groupId>org.apache.tiles</groupId> 
      <artifactId>tiles-core</artifactId> 
      <version>2.1.2</version> 
     </dependency> 
     <dependency> 
      <groupId>org.apache.tiles</groupId> 
      <artifactId>tiles-jsp</artifactId> 
      <version>2.1.2</version> 
     </dependency> 
     <dependency> 
      <groupId>org.slf4j</groupId> 
      <artifactId>slf4j-api</artifactId> 
      <version>1.5.2</version> 
     </dependency> 

जब मैं उदाहरण के नीचे त्रुटि फेंक दिया जाता है चलाने के लिए कोशिश कर रहा हूँ:

Sep 17, 2010 11:59:43 PM org.apache.catalina.core.StandardContext listenerStart 
SEVERE: Error configuring application listener of class  org.apache.tiles.web.startup.TilesListener 
java.lang.NoClassDefFoundError: org/slf4j/impl/StaticLoggerBinder 
at org.slf4j.LoggerFactory.<clinit>(LoggerFactory.java:60) 
at org.apache.commons.logging.impl.SLF4JLogFactory.getInstance(SLF4JLogFactory.java:155) 
at org.apache.commons.logging.impl.SLF4JLogFactory.getInstance(SLF4JLogFactory.java:131) 
at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:685) 
at org.apache.tiles.web.startup.TilesListener.<init>(TilesListener.java:49) 
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) 
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) 
at java.lang.reflect.Constructor.newInstance(Unknown Source) 
at java.lang.Class.newInstance0(Unknown Source) 
at java.lang.Class.newInstance(Unknown Source) 

किसी भी विचार?

मैंने इसके लिए 30 मिनट गुगल खर्च किया लेकिन संभावित सोल्शन नहीं मिला।

कृपया मेरी मदद करो ...

उत्तर

96

आपने एसएलएफ 4 जे एपीआई पर निर्भरता शामिल की है, जो कि आप लॉगिंग के लिए अपने आवेदन में उपयोग करते हैं, लेकिन आपको एक वास्तविक कार्यान्वयन भी शामिल करना चाहिए जो वास्तविक लॉगिंग कार्य करता है।

उदाहरण Log4J के माध्यम से लॉग इन करने के लिए आप इस निर्भरता जोड़ना होगा:

<dependency> 
     <groupId>org.slf4j</groupId> 
     <artifactId>slf4j-log4j12</artifactId> 
     <version>1.5.2</version> 
    </dependency> 

सिफारिश कार्यान्वयन logback-क्लासिक है, जो log4j के उत्तराधिकारी, वही लोग है कि SLF4J और Log4J बनाया द्वारा बनाई गई है होगा:

<dependency> 
    <groupId>ch.qos.logback</groupId> 
    <artifactId>logback-classic</artifactId> 
    <version>0.9.24</version> 
</dependency> 

नोट: संस्करण गलत हो सकते हैं।

+6

सटीक होने के लिए, लॉगबैक log4j का कांटा है, उत्तराधिकारी नहीं। –

+3

org.slf4j slf4j-log4j12 1.5.2 जोड़ा ऊपर निर्भरता और यह काम किया ... 'धन्यवाद सब लोग replies' के लिए – javanoob

+10

Logback, log4j का एक कांटा नहीं है वास्तव में यह एक उत्तराधिकारी है। यह वास्तव में Log4j और Ceki Gülcü के साथ कोड साझा नहीं करता है, दोनों ढांचे के निर्माता, ने स्पष्ट रूप से कहा है कि इसे बनाते समय: http://ceki.blogspot.fr/search?q=logback। – PomCompot

8

आप sflj के एपीआई के लिए निर्भरता, लेकिन एपीआई के कार्यान्वयन के लिए नहीं निर्भरता को शामिल किया है, कि एक अलग जार है, तो आप slf4j-सरल-1.6.1 की कोशिश कर सकते .jar।

+1

यह मेरे लिए काम किया। मैं वर्षों से टॉमकैट पर आवेदन का उपयोग कर रहा हूं। जेबॉस 5.1.1 पर चलने का प्रयास किया और इसे इस पुस्तकालय की आवश्यकता थी। मुझे नहीं पता कि इसे टॉमकैट पर क्यों इसकी आवश्यकता नहीं थी ..... – AgilePro

1

सभी टाइल्स जार जैसे (टाइल्स-जेएसपी, टाइल्स-सर्वलेट, टाइल्स-टेम्पलेट, टाइल्स-एक्स्ट्रास्टाइल-कोर) अपने सर्वर lib फ़ोल्डर और अपने एप्लिकेशन बिल्ड पथ में जोड़ें, तो यह काम करता है यदि आप अपाचे पूंछ का उपयोग करते हैं वसंत एमवीसी आवेदन

0

घर फ़ोल्डर की सभी ऑर्डर प्रविष्टियों की प्रतिलिपि बनाएँ .iml फ़ाइल को अपनी /src/main/main.iml फ़ाइल में कॉपी करें। इससे समस्या हल हो जाएगी।

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