java.lang.ClassNotFoundException: org.springframework.web.servlet.DispatcherServlet


87

আমি স্প্রিং ৩.১.০. রিলিজ ব্যবহার করছি , এবং আমার সার্লেট কনটেইনারটি টমক্যাট is এবং আমার আইডিই গ্রহন নীল এবং জার স্প্রিং-ওয়েবএমভিসি-1.০.০.আরইএলইএসই.জার রয়েছে যার মধ্যে ডিসপ্যাচারসার্ভালেট লিব ফোল্ডারে উপস্থিত রয়েছে , এবং এখনও অ্যাপ্লিকেশন চলমান, আমি ব্যতিক্রম পাচ্ছি:

java.lang.ClassNotFoundException: org.springframework.web.servlet.DispatcherServlet
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1678)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1523)
    at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:525)
    at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:507)
    at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:126)
    at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1099)
    at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1043)
    at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4957)
    at org.apache.catalina.core.StandardContext$3.call(StandardContext.java:5284)
    at org.apache.catalina.core.StandardContext$3.call(StandardContext.java:5279)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
    at java.util.concurrent.FutureTask.run(FutureTask.java:138)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
    at java.lang.Thread.run(Thread.java:662)

কেন আমি এই ব্যতিক্রম পাচ্ছি এবং কীভাবে এটি ঠিক করব তা পরামর্শ করুন।

সম্পাদনা: নিম্নলিখিতটি আমার কনফিগারেশন ফাইলগুলি রয়েছে:

1- .স্প্রিংবিয়ানস:

<?xml version="1.0" encoding="UTF-8"?>
<beansProjectDescription>
    <version>1</version>
    <pluginVersion><![CDATA[2.9.0.201203011806-RELEASE]]></pluginVersion>
    <configSuffixes>
        <configSuffix><![CDATA[xml]]></configSuffix>
    </configSuffixes>
    <enableImports><![CDATA[false]]></enableImports>
    <configs>
        <config>src/main/webapp/WEB-INF/checkout-servlet.xml</config>
    </configs>
    <configSets>
    </configSets>
</beansProjectDescription>

2- ওয়েব.এক্সএমএল:

<web-app>
  <display-name>Checkout</display-name>

  <servlet>
    <servlet-name>checkout</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
  </servlet>

  <servlet-mapping>
    <servlet-name>checkout</servlet-name>
    <url-pattern>*.action</url-pattern>
  </servlet-mapping>

</web-app>

3- চেকআউট-সার্লেটলেট.এক্সএমএল:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:context="http://www.springframework.org/schema/context"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd">

    <context:component-scan base-package="com.myapp"/>

    <bean id="myService" class="com.myapp.MyService"/>

</beans>

অ্যাপ্লিকেশনটিতে কোনও পৃষ্ঠা অ্যাক্সেস করার চেষ্টা করার পরেও আমি ব্যতিক্রমটি পেয়েছি:

HTTP Status 404 - Servlet checkout is not available

type Status report

message Servlet checkout is not available

description The requested resource (Servlet checkout is not available) is not available.
Apache Tomcat/7.0.22

আপনি কি আপনার বসন্তের কনফিগারেশন ফাইল পোস্ট করতে পারেন এবং কোন অ্যাপ-সার্ভারটি চালানোর কথা বলে তা আমাদের বলতে পারেন?
জার্গেলি সিলজায়ি

@ জারজিলি সিজিলাগি, আমি প্রশ্নটি আপডেট করেছি।
মাহমুদ সালেহ

আমার উত্তরটি মুছে ফেলেছে, কারণ এটি কার্যকর ছিল না। দুঃখিত :(
জার্গেলি সিলজাই

@ আইনান, আমি গ্রহগ্রহের নীল ব্যবহার করছি
মাহমুদ সালেহ

4
আমি বিশ্বাস করি এটি ডিসপ্যাচার সার্ভলেটে সরাসরি কোনও সিএনএফ নয় তবে একটি নির্ভরশীল শ্রেণি ত্রুটি ফেলেছে। আপনি অন্য কোনও নেস্টেড ব্যতিক্রম দেখতে পান কিনা তা পরীক্ষা করুন।
আদর্শ

উত্তর:


250

ডিপ্লয়মেন্ট অ্যাসেমব্লিতে আপনাকে "ম্যাভেন নির্ভরতা" যুক্ত করতে হবে

  • আপনার প্রকল্পে ডান ক্লিক করুন এবং বৈশিষ্ট্য চয়ন করুন।
  • মোতায়েন সমাবেশে ক্লিক করুন।
  • অ্যাড ক্লিক করুন
  • "জাভা পাথ এন্ট্রিগুলি বিল্ড করুন" এ ক্লিক করুন
  • ম্যাভেন নির্ভরতা নির্বাচন করুন "
  • সমাপ্তি ক্লিক করুন।

পুনর্নির্মাণ এবং আবার স্থাপন

দ্রষ্টব্য: এটি অবিবাহিত প্রকল্পের জন্যও প্রযোজ্য ।


ভাল লাগল - আমি আমার পম.এক্সএমএল-তে যথাযথ নির্ভরতা যুক্ত করার পরেও দেখতে দেখতে বিভ্রান্ত হয়ে পড়েছি যতক্ষণ না আমি উপরের মত অনুসরণ করেছি ততক্ষণ ত্রুটিটি সমাধান হয়নি ..
শ্রীনবাস

দুর্দান্ত .. নিখুঁত সমাধান
প্রসাদ ভিএস

4
কেন এই কাজ করে? মানে, সমস্ত খাঁটি নির্ভরতা উপলব্ধ করা উচিত নয়? যদি আমি টমকাট 7 প্লাগিংটি টমকা্যাট 7: রান দিয়ে ব্যবহার করতাম, তবে কীভাবে এটি সম্পাদন হবে?
জনি বিগুড

মোহন মত কাজ!
yrazlik

এটি নন মাভেন প্রকল্পের জন্যও প্রযোজ্য !! আমি একটি মাভেন প্রকল্প তৈরি করেছি এবং আমারও একই সমস্যা হয়েছে got এই সমাধানটি আমার পক্ষে কাজ করেছিল।
বাঁধাম মানিকান্ত

33

দুটি সম্ভাব্য উত্তর:

1- আপনি আপনার লাইভে বসন্ত-মটরশুটি এবং বসন্ত-প্রসঙ্গের জারগুলি অন্তর্ভুক্ত করেননি। আপনি যদি ম্যাভেন ব্যবহার করছেন (যা অনেক সাহায্য করবে) তবে দুটি লাইনই যথেষ্ট be

<dependency>
 <groupId>org.springframework</groupId>
  <artifactId>spring-context</artifactId>
   <version>3.1.0.RELEASE</version>
</dependency>
<dependency>
 <groupId>org.springframework</groupId>
  <artifactId>spring-webmvc</artifactId>
   <version>3.1.0.RELEASE</version>
</dependency>

2- প্রয়োজনীয় জারগুলি আপনার ক্লাসপথে রয়েছে তবে টমক্যাটে স্থাপন করা হয় না।


আপনি যে সমস্যাটি সমাধান করেছেন তা খুব ভাল, তবে আমি মনে করি না যে আপনি যে সমস্যাটি ব্যবহার করছেন তা আপনার সমস্যা থেকে বোঝা যাবে।
সেরকান আরকুউউ

4
ম্যাভেনকে প্রশ্নে বাঁধা!
মাহমুদ সালেহ

4
spring-webmvcআমার যোগ করা pom.xmlসমস্যা সমাধান করবে। ধন্যবাদ
ওও 7

19

আইডিয়া ইন্টেলিজ এবং স্প্রিং 4 নিয়ে আমার একই সমস্যা ছিল had আমি সমস্যাটি স্থির করে দিয়েছি এবং উত্তরটি আপনার সাথে ভাগ করে নিতে চাই।

আমি টমক্যাট 7 / ধারণা ইন্টিলিজ 13 / স্প্রিং 4 ব্যবহার করি।

pom.xML নির্ভরতা:

  <properties>
    <spring.version>4.0.5.RELEASE</spring.version>
  </properties>

  <dependencies>     
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-core</artifactId>
      <version>${spring.version}</version>
    </dependency>

    <dependency>
enter code here
      <groupId>org.springframework</groupId>
      <artifactId>spring-context</artifactId>
      <version>${spring.version}</version>
    </dependency>

    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-jdbc</artifactId>
      <version>${spring.version}</version>
    </dependency>

    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-web</artifactId>
      <version>${spring.version}</version>
    </dependency>

    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-webmvc</artifactId>
      <version>${spring.version}</version>
    </dependency>

    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-test</artifactId>
      <version>${spring.version}</version>
      <scope>test</scope>
    </dependency>

    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.11</version>
      <scope>test</scope>
    </dependency>

    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-log4j12</artifactId>
      <version>1.7.2</version>
    </dependency>
        <dependency>
      <groupId>commons-dbcp</groupId>
      <artifactId>commons-dbcp</artifactId>
      <version>1.4</version>
    </dependency>
  </dependencies>

ধারণা ইনটেলিজ, আপনাকে ফাইল -> প্রকল্প সেটিংস -> শিল্পকলাগুলিতে যেতে হবে।

তারপর এখানে চিত্র বর্ণনা লিখুন

পরিষ্কার -> প্রকল্পটি পুনর্নির্মাণ করুন -> নিদর্শনটি তৈরি করুন এবং সবকিছু ঠিক থাকবে।


তুমি খুব মেধাবী. এটি কি পার্থক্য ব্যাখ্যা করতে পারেন? মাভেন কীভাবে সমস্ত কিছু আমদানি করে, তবে আপনার এখনও এটি করা দরকার যাতে এটি কার্যকর হয়?
DMurta

@ ডিমুর্টা কে বলেছিলেন যে ম্যাভেন সবকিছু রফতানি করে?
আদেলিন

13

এটি আমার জন্য সমস্যার সমাধান করে। এটি সহজ এবং সুন্দরভাবে ব্যাখ্যা করা হয়েছে।

ধাপ 1

  • প্রকল্পে রাইট ক্লিক করুন
  • প্রোপার্টি ক্লিক করুন

ধাপ ২

  • এর ডিপ্লয়মেন্ট অ্যাসেমব্লি ট্যাবে ক্লিক করুন
  • যোগ ক্লিক করুন ...

ধাপ 3

  • জাভা বিল্ড পাথ এন্ট্রিগুলিতে ক্লিক করুন

পদক্ষেপ 4

  • মাভেন নির্ভরতা ক্লিক করুন
  • সমাপ্তি বোতামটি ক্লিক করুন

পদক্ষেপ 5

  • টমক্যাটে আবার স্প্রিং এমভিসি অ্যাপ্লিকেশন
  • টমক্যাট পুনরায় চালু করুন
  • তালিকাবদ্ধ

শ্রেণী পাওয়া ব্যতিক্রম


আপনি আমার প্রস্তাবটি যে গ্রেড দিয়েছিলেন তা কি পুনর্বিবেচনা করবেন?
লাইকোন

10

আমি দেখেছি যে মোতায়েন সমাবেশে , প্রবেশ ছিল:

[persisted container] org.maven.ide.eclipse.maven2_classpath_container

আমি এটি সরিয়ে দিয়েছি এবং maven dependenciesএন্ট্রি যুক্ত করেছি এবং এটি এখন দুর্দান্ত কাজ করে।


5

যদি এই সমস্ত পরামর্শ কার্যকর না হয় তবে আপনার সার্ভারটি পুনরায় তৈরি করা উচিত (টমক্যাট বা এর মতো)। এটি আমার সমস্যার সমাধান করেছে।


5

আপনার pom.xml এ নীচে নির্ভরতা অন্তর্ভুক্ত করুন

<dependency>
 <groupId>org.springframework</groupId>
  <artifactId>spring-webmvc</artifactId>
   <version>{spring-version}</version>
</dependency>

4

আমি একই ইস্যুতে ছিলাম। যখন আমি আমার স্থানীয় খাঁটি সংগ্রহস্থল .m2 ফোল্ডারে (.... m2 \ সংগ্রহস্থল \ org \ স্প্রিংফ্রেমওয়ার্ক \ স্প্রিং-ওয়েবএমভিসি) দেখেছি তখন আমি দুটি 3.2.0.REREASE ফোল্ডার পেয়েছি। তাই আমি একটি অপসারণ। তারপরে আমি প্রজেক্টে গিয়েছিলাম, ডান ক্লিক করুন-> বৈশিষ্ট্য-> স্থাপনা এস্যোয়ালি-> মাভেন নির্ভরতা যুক্ত করুন। পরিষ্কার বিল্ড এবং তারপরে সার্ভারটি পুনরায় চালু করুন। তারপরে ডিসপ্যাচার সার্ভলেট লোড হয়ে যায়।


হ্যাঁ, এটি আমার সমস্যাটিও সমাধান করেছে, কোনও ধারণা কেন এটি গ্রহণের জন্য ডিগ্রি সমাবেশে নির্ভরতা যুক্ত করতে হবে?
ফ্রিল্যান্সার

2

আমার ক্ষেত্রে ম্যাভেনের আপডেট প্রকল্পের ইউটিলিটি ব্যবহার করার পরে আমি এই সমস্যাটি পেয়েছি। আপনার প্রস্তাবিত সমস্ত কাজের ক্ষেত্র চেষ্টা করে দেখলাম তবে কিছুই কাজ করছে বলে মনে হয়নি। শেষ পর্যন্ত সমাধানটি হ'ল প্রকল্পটি সার্ভার থেকে সরিয়ে ফেলা হয়েছে তা নিশ্চিত করার জন্য এবং এটি আবার যুক্ত করুন। তারপরে এটি কার্যকর হয়, আমি আশা করি এই সমাধানটি আপনার কারও পক্ষে সহায়তা করতে পারে।


2

আপনি গ্লাস ফিশ সার্ভার ব্যবহার করতে পারেন এবং ত্রুটিটি সমাধান করা হবে। আমি টমক্যাট 7 এবং টমক্যাট ৮ দিয়ে চেষ্টা করেছি তবে এই ত্রুটিটি ধারাবাহিকভাবে আসছিল তবে গ্লাস ফিশের সাথে সমাধান হয়েছে। আমি মনে করি এটি সার্ভারের সাথে একটি সমস্যা।

টমক্যাট 7 এর সাথে ফলাফলগুলি: টমক্যাট 7 সহ ফলাফল

গ্লাস ফিশ সহ ফলাফলগুলি এখানে: গ্লাস ফিশ সহ ফলাফল


1

আপনার প্রকল্পে ডান ক্লিক করুন এবং বৈশিষ্ট্য চয়ন করুন। মোতায়েন সমাবেশে ক্লিক করুন। "জাভা বিল্ড পাথ এন্ট্রিগুলিতে ক্লিক করুন" মাভেন নির্ভরতা নির্বাচন করুন "সমাপ্তি ক্লিক করুন।


1

এটি কারওর জন্য কার্যকর হতে পারে, তাই আমি এটি এখানে পোস্ট করব। আমি আমার উপর এই নির্ভরতা মিস করছিpom.xml

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
    <exclusions>
        <exclusion>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
        </exclusion>
    </exclusions>
</dependency>

1
  1. যান বৈশিষ্ট্য এর প্রকল্প যা আপনার কাজের
  2. স্থাপনা মেনুয়ালি মেনু চয়ন করুন এবং অ্যাড বোতামে ক্লিক করুন
  3. অপ্ট জাভা পথ বিল্ড এন্ট্রি এবং ক্লিক করুন ম্যাভেন অধীনস্থ
  4. প্রকল্পটি তৈরি করে চালান

এখানে চিত্র বর্ণনা লিখুন


4
আমি যখন জাভা বিল্ড পাথ এন্ট্রিগুলিতে ক্লিক করি তখন আমার কাছে ম্যাভেন নির্ভরতা বিকল্প নেই।
মুক্তাদির খান

আপনি কোন দিক থেকে আপনার এই প্রশ্নটি জিজ্ঞাসা করেছিলেন তা আমি জানতাম না। নতুন প্রশ্ন পোস্ট করার চেষ্টা করুন।
লোভা চিত্তুমুরি

0

আমি এই পদক্ষেপগুলি অনুসরণ করে সমাধান করেছি:

  • প্রকল্পে ডান ক্লিক করুন> কনফিগার করুন> মেভেন প্রকল্পে রূপান্তর করুন
  • রূপান্তরের পরে, প্রকল্প> মাভেন> আপডেট প্রকল্পে ডান ক্লিক করুন

এটি প্রকল্পের "স্থাপনা সমাবেশ" সেটিংস ঠিক করে।


0

আপনার ক্লাসপাথ থেকে জার ফাইলগুলি ওয়েব-ইনফ / লাইব এ সরান এবং একটি নতুন টমক্যাট সার্ভার চালান।


0

আমি একটি সহজ সমাধান পেয়েছি, কেবল আপনার জারগুলিকে ওয়েবে-আইএনএফ -> লিব ফোল্ডারের ভিতরে যুক্ত করুন ..


0

আমার ওয়েবস্পিয়ারে এই একই সমস্যা ছিল, তবে আমি বসন্তের নির্ভরতাগুলি যাচাই করেছি এবং এটি টমক্যাটে ঠিক জরিমানা সত্ত্বেও কোনও সমাধান খুঁজে পেল না। আমি অ্যাপ্লিকেশনটি আনইনস্টল করে শেষ করেছিলাম এবং তবুও ত্রুটিটি পেয়েছিলাম তাই আমি মনে করি যে ওয়েবস্পিয়ারটি কোনও দুর্নীতিগ্রস্থ ঘটনার সাথে ঝুলছে।

সমস্যাটি সমাধান করার জন্য আমাকে অ্যাপ্লিকেশনটি পুনরায় ইনস্টল করতে হয়েছিল, এটি থামাতে হবে, আনইনস্টল করুন এবং তারপরে এটি পুনরায় ইনস্টল করুন।


0

আমার জন্য এটি ভুল ছিল pom.xml- আমি <scope>provided<scope>আমার নির্ভরতাগুলির উপর নির্ভর করতাম এবং এটি তাদের mvn packageমঞ্চের সময় অনুলিপি না করার জন্য তৈরি করছিল ।

আমার লক্ষণগুলি হ'ল ওপি পোস্ট করা ত্রুটি বার্তা, এবং প্যাকেজটি চালুর পরে জওয়ারগুলি .war এর ভিতরে WEB-INF / lib পথে অন্তর্ভুক্ত করা হয়নি। যখন আমি সুযোগটি সরিয়ে ফেললাম, জারগুলি আউটপুটে উপস্থিত হয়েছিল, এবং সমস্ত লোড এখন ঠিক আছে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.