2017-07-27 10 views
0

xml構成を使用せずにspring web mvcアプリケーションを実行しようとしました。私は4Spring mvc 4 hello worldの例throws javax.servlet.ServletException:WebApplicationInitializerクラスのインスタンス化に失敗しました

私は、以下の依存関係がスプリング4のWeb MVC例

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> 
<modelVersion>4.0.0</modelVersion> 
<groupId>com.candidjava.spring</groupId> 
<artifactId>spring4helloworld</artifactId> 
<packaging>war</packaging> 
<version>0.0.1-SNAPSHOT</version> 
<name>spring4helloworld</name> 
<url>http://maven.apache.org</url> 
<dependencies> 

    <dependency> 
     <groupId>jstl</groupId> 
     <artifactId>jstl</artifactId> 
     <version>1.2</version> 
     <scope>compile</scope> 
    </dependency> <!-- Spring Core --> 
    <!-- Servlet 3.1 --> 
    <dependency> 
     <groupId>javax.servlet</groupId> 
     <artifactId>javax.servlet-api</artifactId> 
     <version>3.1.0</version> 
    </dependency> 

    <!-- https://mvnrepository.com/artifact/org.springframework/spring-context --> 
    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-context</artifactId> 
     <version>3.0.2.RELEASE</version> 
    </dependency> 


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



</dependencies> 
<build> 

    <plugins> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-eclipse-plugin</artifactId> 
      <version>2.9</version> 
      <configuration> 
       <downloadSources>true</downloadSources> 
       <downloadJavadocs>false</downloadJavadocs> 
       <wtpversion>2.0</wtpversion> 
      </configuration> 
     </plugin> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-compiler-plugin</artifactId> 
      <version>3.1</version> 
      <configuration> 
       <source>1.8</source> 
       <target>1.8</target> 
      </configuration> 
     </plugin> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-war-plugin</artifactId> 
      <configuration> 
       <webResources> 
        <resource> 
         <directory>${project.build.sourceDirectory}</directory> 
         <targetPath>WEB-INF/classes</targetPath> 
        </resource> 
       </webResources> 
      </configuration> 
     </plugin> 
    </plugins> 

    <finalName>spring4helloworld</finalName> 
</build> 

のために追加され

javax.servlet.ServletException: Failed to instantiate WebApplicationInitializer class 
at org.springframework.web.SpringServletContainerInitializer.onStartup(SpringServletContainerInitializer.java:160) 
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5178) 
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1419) 
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1409) 
at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
at java.lang.Thread.run(Thread.java:748) 

Caused by: java.lang.Error: Unresolved compilation problem: 
The type org.springframework.context.annotation.AnnotationConfigRegistry cannot be resolved. It is indirectly referenced from required .class files 

at com.candidjava.spring.configuration.SpringWebIntializer.<init>(SpringWebIntializer.java:18) 
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) 
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 
at java.lang.reflect.Constructor.newInstance(Constructor.java:423) 
at java.lang.Class.newInstance(Class.java:442) 
at org.springframework.web.SpringServletContainerInitializer.onStartup(SpringServletContainerInitializer.java:157) 
... 8 more 
java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener 
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1285) 
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1119) 
at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:520) 
at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:501) 
at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:118) 
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4649) 
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5189) 
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1419) 
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1409) 
at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
at java.lang.Thread.run(Thread.java:748) 

のようないくつかの例外に直面した春に記載されているのアノテーションベースの設定にすべての私の構成を交換しようとしています

このような問題に直面している理由と解決方法を教えてください。

答えて

2

あなたのpom.xmlから

<!-- https://mvnrepository.com/artifact/org.springframework/spring-context --> 
<dependency> 
    <groupId>org.springframework</groupId> 
    <artifactId>spring-context</artifactId> 
    <version>3.0.2.RELEASE</version> 
</dependency> 

を以下の依存を削除する春のWeb MVC依存自体を含める必要がhttps://www.mkyong.com/spring/spring-error-classnotfoundexception-org-springframework-web-context-contextloaderlistener/

現在のところ、あなたのスプリングコンテキスト依存性は、他のジャーと競合しています。

javaベースの設定を使用してクリーンspring mvc hello world exampleを実行するには、この例に従います。

スプリングに関する詳細は、official site

です
0

は参照してください:あなたは春・コンテキストおよびその他の関連するjarファイルをダウンロードするのに十分なspring-web.jar

関連する問題