2012-03-17 15 views
5

इस परियोजना थोड़ी देर के लिए मेरे लिए काम किया है के बावजूद, मैं अब जब मैं बिलाव में अपने आवेदन संदर्भ तैनात करने के लिए प्रयास करने के लिए एक अपवाद हो रही है:वसंत एमवीसी - संदर्भ तैनात करते समय NoSuchMethodError अपवाद क्यों?

Servlet /testapp threw load() exception 
java.lang.NoSuchMethodError: org.springframework.core.convert.converter.ConverterRegistry.addConverter(Ljava/lang/Class;Ljava/lang/Class;Lorg/springframework/core/convert/converter/Converter;)V 
    at org.springframework.core.convert.support.DefaultConversionService.addScalarConverters(DefaultConversionService.java:62) 

मैं क्या पढ़ा है से, यह करता है, तो हो सकता है वहाँ स्प्रिंग के कई संस्करण हैं जिन्हें ऐप में संकलित किया जा रहा है। हालांकि, मैंने पूरी तरह से निर्भरता के अपने स्थानीय भंडार को शुद्ध कर दिया है ताकि यह पुष्टि हो सके कि मेरे पास केवल मेरे संस्करण में इच्छित संस्करण है। मेरे निर्भरता इस प्रकार हैं:

<properties> 
    <java-version>1.6</java-version> 
    <org.springframework.version>3.1.0.RELEASE</org.springframework.version> 
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> 
    </properties> 

    <dependencies> 
    <!-- CGLIB, only required and used for @Configuration usage --> 
    <dependency> 
     <groupId>cglib</groupId> 
     <artifactId>cglib-nodep</artifactId> 
     <version>2.2.2</version> 
    </dependency> 
    <!-- Test --> 
    <dependency> 
     <groupId>junit</groupId> 
     <artifactId>junit</artifactId> 
     <version>4.10</version> 
     <scope>test</scope> 
    </dependency> 
    <!-- @Inject --> 
    <dependency> 
     <groupId>javax.inject</groupId> 
     <artifactId>javax.inject</artifactId> 
     <version>1</version> 
    </dependency> 

    <dependency> 
     <groupId>org.codehaus.jackson</groupId> 
     <artifactId>jackson-core-asl</artifactId> 
     <version>1.9.4</version> 
    </dependency> 
    <dependency> 
     <groupId>org.codehaus.jackson</groupId> 
     <artifactId>jackson-mapper-asl</artifactId> 
     <version>1.9.4</version> 
    </dependency> 

    <dependency> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-eclipse-plugin</artifactId> 
     <version>2.8</version> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-core</artifactId> 
     <version>${org.springframework.version}</version> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-webmvc</artifactId> 
     <version>${org.springframework.version}</version> 
     <optional>false</optional> 
    </dependency> 
    <dependency> 
     <groupId>javax.servlet</groupId> 
     <artifactId>servlet-api</artifactId> 
     <version>2.5</version> 
     <scope>provided</scope> 
    </dependency> 
    <dependency> 
     <groupId>javax.servlet.jsp</groupId> 
     <artifactId>jsp-api</artifactId> 
     <version>2.1</version> 
     <scope>provided</scope> 
    </dependency> 
    <dependency> 
     <groupId>javax.servlet</groupId> 
     <artifactId>jstl</artifactId> 
     <version>1.2</version> 
    </dependency> 
    </dependencies> 

मैं ग्रहण परियोजना में कोई संकलक त्रुटियाँ हैं और यह पूरी तरह बनाता है, कोई चेतावनी या त्रुटियों के साथ। हालांकि, टॉमकैट मेरा एकल टेस्ट सर्वलेट चिह्नित कर रहा है अनुपलब्ध है और जब मैं लॉग को पूंछ करता हूं, तो ऊपर का स्टैकट्रैक मेरा एकमात्र संकेत है।

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

+2

जब मैं रहस्यमय त्रुटियों को देखना शुरू करता हूं तो पहली बात यह है कि टॉमकैट कार्य निर्देशिका को शुद्ध करें ... – nickdos

+0

उत्कृष्ट टिप की कोशिश करें! इससे मुझे समस्या की पहचान करने में मदद मिली, बहुत बहुत धन्यवाद! – mchandler

उत्तर

2

टिप पेश करने के लिए @ निकोडोस के लिए धन्यवाद। मेरे pom.xml में परिवर्तन जो शुरू में मुझे परेशानी का कारण बना दिया गया था और मेरी कार्य निर्देशिका को शुद्ध करने से मुझे वापस जीवन में लाया गया। हालांकि, मेरी प्रारंभिक समस्या मेरी परियोजना में जर्सी जार समेत पेश किए गए संघर्षों का परिणाम था।

मेरा प्रोजेक्ट स्प्रिंग v3.x का उपयोग कर रहा था, लेकिन जर्सी जार स्प्रिंग 2.5 पर निर्भरता शामिल थे, जिसके परिणामस्वरूप संघर्ष हुए।

<dependency> 
    <groupId>com.sun.jersey</groupId> 
    <artifactId>jersey-server</artifactId> 
    <version>${com.sun.jersey.version}</version> 
</dependency> 
<dependency> 
    <groupId>com.sun.jersey</groupId> 
    <artifactId>jersey-client</artifactId> 
    <version>${com.sun.jersey.version}</version> 
</dependency> 
<dependency> 
    <groupId>com.sun.jersey</groupId> 
    <artifactId>jersey-json</artifactId> 
    <version>${com.sun.jersey.version}</version> 
</dependency> 
<dependency> 
    <groupId>com.sun.jersey.contribs</groupId> 
    <artifactId>jersey-spring</artifactId> 
    <version>${com.sun.jersey.version}</version> 
    <exclusions> 
     <exclusion> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring</artifactId> 
     </exclusion> 
     <exclusion> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-core</artifactId> 
     </exclusion> 
     <exclusion> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-web</artifactId> 
     </exclusion> 
     <exclusion> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-beans</artifactId> 
     </exclusion> 
     <exclusion> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-context</artifactId> 
     </exclusion> 
    </exclusions> 
</dependency> 

@nickdos से टिप्पणी जर्सी के शामिल किए जाने के बिना वापस गति अप करने के लिए अपने प्रोजेक्ट लाया है, और बहिष्करण की घोषणा के द्वारा, मैं अब दोनों वसंत के लिए समर्थन: इस समस्या का समाधान करने के लिए, मैं कुछ बहिष्करण इस प्रकार की घोषणा की लोड() अपवाद के बिना एमवीसी के साथ ही जर्सी आरईएसटी समर्थन मैं पहले रिपोर्टिंग कर रहा था।

धन्यवाद सब!

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