saya menggunakan spring 3.1.0.RELEASE , dan wadah servlet saya adalah tomcat 7 dan IDE saya adalah eclipse indigo dan jar spring-webmvc-3.1.0.RELEASE.jar yang berisi DispatcherServlet ada di folder lib, namun kapan menjalankan aplikasi, saya mendapatkan pengecualian:
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)
mohon saran mengapa saya mendapatkan pengecualian ini, dan bagaimana cara memperbaikinya.
EDIT: berikut adalah file konfigurasi saya:
1- .springBeans:
<?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.xml:
<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- checkout-servlet.xml:
<?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>
juga ketika mencoba mengakses halaman mana pun di aplikasi, saya mendapatkan pengecualian:
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
spring
maven
spring-mvc
maven-2
Mahmoud Saleh
sumber
sumber
Jawaban:
Anda perlu menambahkan "Maven Dependency" di Deployment Assembly
Bangun kembali dan terapkan lagi
Catatan: Ini juga berlaku untuk proyek non maven .
sumber
Dua kemungkinan jawaban:
1- Anda tidak menyertakan stoples kacang pegas dan konteks pegas di lib Anda. Jika Anda menggunakan maven (yang akan sangat membantu) kedua baris itu sudah cukup
<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- Jars yang diperlukan ada di classpath Anda tetapi tidak diterapkan di tomcat.
sumber
spring-webmvc
saya untukpom.xml
menyelesaikan masalah. Terima kasih.Saya memiliki masalah yang sama dengan Idea Intellij dan Spring 4. Saya telah memperbaiki masalah tersebut dan saya ingin berbagi jawabannya dengan Anda.
Saya menggunakan tomcat 7 / idea intellij 13 / spring 4.
ketergantungan 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>
Dalam ide Intellij, Anda harus pergi ke File -> Project Settings -> Artifacts.
Kemudian
bersih -> membangun kembali proyek -> membangun artefak, dan semuanya akan baik-baik saja.
sumber
Ini memecahkan masalah saya. Ini mudah dan cukup dijelaskan secara sederhana.
Langkah 1
Langkah 2
LANGKAH 3
LANGKAH 4
LANGKAH 5
classnotfoundexception
sumber
saya menemukan bahwa dalam perakitan penerapan , ada entri:
saya menghapusnya, dan menambahkan
maven dependencies
entri, dan berfungsi dengan baik sekarang.sumber
Jika semua saran ini tidak berhasil, Anda harus membuat ulang Server Anda (Tomcat atau sejenisnya). Itu memecahkan masalah saya.
sumber
Sertakan dependensi di bawah ini dalam pom.xml Anda
<dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>{spring-version}</version> </dependency>
sumber
Saya menghadapi masalah yang sama. Ketika saya melihat ke folder maven repositori .m2 (.... m2 \ repository \ org \ springframework \ spring-webmvc) di lokal saya, saya menemukan dua folder 3.2.0.RELEASE. JADI saya menghapus satu. Lalu saya pergi ke proyek, klik kanan-> properties-> deployment essembly-> tambahkan dependensi maven. bersihkan build dan kemudian restart server. Kemudian DispatcherServlet dimuat.
sumber
Dalam kasus saya, saya mendapatkan masalah ini setelah menggunakan utilitas proyek pembaruan maven. Saya mencoba semua solusi yang Anda sarankan tetapi sepertinya tidak ada yang berhasil. Pada akhirnya, solusinya cukup dengan menghapus proyek dari server untuk memastikannya bersih, dan menambahkannya lagi. Kemudian berhasil, saya harap solusi ini dapat membantu Anda semua.
sumber
Anda dapat menggunakan server GlassFish dan kesalahan akan teratasi. Saya mencoba dengan tomcat7 dan tomcat8 tetapi kesalahan ini datang terus menerus tetapi diselesaikan dengan GlassFish. Saya pikir ini masalah dengan server.
Ini adalah hasil dengan tomcat7:
Berikut adalah hasil dengan GlassFish:
sumber
klik kanan pada proyek Anda dan pilih properti. klik Deployement Assembly. klik add klik pada "Java Build Path Entries" pilih Maven Dependencies "klik Finish.
sumber
Semoga bermanfaat untuk seseorang, jadi saya akan mempostingnya di sini. Saya kehilangan ketergantungan ini pada saya
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>
sumber
sumber
Saya menyelesaikannya dengan mengikuti langkah-langkah ini:
Ini memperbaiki pengaturan "Deployment Assembly" dari proyek.
sumber
Pindahkan file jar dari classpath Anda ke web-inf / lib , dan jalankan server tomcat baru.
sumber
Saya menemukan solusi sederhana, Cukup tambahkan toples Anda di dalam WEB-INF -> folder lib ..
sumber
Saya memiliki masalah yang sama di WebSphere, tetapi tidak dapat menemukan solusi meskipun saya memverifikasi dependensi Spring ada di sana dan berjalan dengan baik di tomcat. Saya akhirnya mencopot pemasangan aplikasi dan masih mendapatkan kesalahan jadi saya pikir WebSphere tergantung pada beberapa contoh yang korup.
Untuk memperbaiki masalah, saya harus menginstal ulang aplikasi, menghentikannya, menghapus instalannya, lalu menginstalnya kembali.
sumber
Bagi saya itu adalah kesalahan dalam
pom.xml
- saya menetapkan<scope>provided<scope>
ketergantungan saya, dan ini membuat mereka tidak disalin selamamvn package
tahap.Gejala saya adalah pesan kesalahan yang diposting OP, dan bahwa toples tidak termasuk dalam jalur WEB-INF / lib di dalam .war setelah paket dijalankan. Ketika saya melepaskan scope, stoples muncul di output, dan semua dimuat dengan baik sekarang.
sumber