2016-03-31 19 views
0

依存関係がないために調査した以下のエラーが発生しています。私は、春のフレームワークに必要なすべての依存関係があると信じていますが、エラーを投げつけ続けます。私はサーバーとプロジェクトの両方できれいに実行したが、役に立たない。私は春とJavaのエンタープライズアプリケーションには非常に新しいので、どんな入力も素晴らしいだろう。私は、Springフレームワークのためのコンテキストを宣言行うにMavenを使用して、私のポンポンファイル内しかし 依存関係が存在する場合、クラスが見つかりませんでした。

org.apache.catalina.core.ApplicationContext log SEVERE: StandardWrapper.Throwable 
java.lang.NoClassDefFoundError: 
org/springframework/context/support/FileSystemXmlApplicationContext 
at mycalendar.servlets.EventServlet.init(EventServlet.java:53) 
at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1238) 
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1151) 
at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:828) 
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:135) 
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106) 
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502) 
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141) 
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) 
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616) 
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88) 
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:522) 
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1095) 
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:672) 
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1500) 
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1456) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) 
at java.lang.Thread.run(Unknown Source) 

Mar 31, 2016 6:13:41 AM org.apache.catalina.core.StandardWrapperValve invoke SEVERE: Allocate exception for servlet eventServlet java.lang.NoClassDefFoundError: org/springframework/context/support/FileSystemXmlApplicationContext 
at mycalendar.servlets.EventServlet.init(EventServlet.java:53) 
at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1238) 
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1151) 
at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:828) 
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:135) 
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106) 
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502) 
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141) 
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) 
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616) 
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88) 
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:522) 
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1095) 
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:672) 
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1500) 
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1456) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) 
at java.lang.Thread.run(Unknown Source) 

は、下図のように:

@Override:エラーが私のサーブレットの内部から来ている

<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/xsd/maven-4.0.0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>MyCalendar</groupId> 
    <artifactId>MyCalendar</artifactId> 
    <version>0.0.1-SNAPSHOT</version> 
    <packaging>war</packaging> 

    <dependencies> 
    <dependency> 
     <groupId>jstl</groupId> 
     <artifactId>jstl</artifactId> 
     <version>1.2</version> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-core</artifactId> 
     <version>3.1.1.RELEASE</version> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-context</artifactId> 
     <version>3.1.1.RELEASE</version> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-expression</artifactId> 
     <version>3.1.1.RELEASE</version> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-beans</artifactId> 
     <version>3.1.1.RELEASE</version> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-aop</artifactId> 
     <version>3.1.1.RELEASE</version> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-jdbc</artifactId> 
     <version>3.1.1.RELEASE</version> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-orm</artifactId> 
     <version>3.2.3.RELEASE</version> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-oxm</artifactId> 
     <version>3.1.1.RELEASE</version> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-web</artifactId> 
     <version>3.1.1.RELEASE</version> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-webmvc</artifactId> 
     <version>3.1.1.RELEASE</version> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-webmvc-portlet</artifactId> 
     <version>3.1.1.RELEASE</version> 
    </dependency> 
    <dependency> 
     <groupId>commons-dbcp</groupId> 
     <artifactId>commons-dbcp</artifactId> 
    <version>1.4</version> 
    </dependency> 
    <dependency> 
     <groupId>hsqldb</groupId> 
     <artifactId>hsqldb</artifactId> 
     <version>1.8.0.7</version> 
    </dependency> 

    </dependencies> 


    <build> 
    <sourceDirectory>src</sourceDirectory> 
    <plugins> 
     <plugin> 
     <artifactId>maven-compiler-plugin</artifactId> 
     <version>3.3</version> 
     <configuration> 
      <source>1.8</source> 
      <target>1.8</target> 
     </configuration> 
     </plugin> 
     <plugin> 
     <artifactId>maven-war-plugin</artifactId> 
     <version>2.6</version> 
     <configuration> 
      <warSourceDirectory>WebContent</warSourceDirectory> 
      <failOnMissingWebXml>false</failOnMissingWebXml> 
     </configuration> 
     </plugin> 
    </plugins> 
    </build> 
</project> 

を public void init(ServletConfig config)ServletExceptionをスローします。 { super.init(config);

ApplicationContext context = new FileSystemXmlApplicationContext("spring.xml"); <------here 

Calendar cal = new GregorianCalendar(); 

Event eventOne = new Event(1, "event 1", "john smith", "12:00am","Fullerton, CA",cal); 
Event eventTwo = new Event(2, "event 1", "jane smith", "1:00pm","Placentia,CA",cal); 
Event eventThree = new Event(3, "event 3", "jules smith", "2:00pm","Brea, CA",cal); 

//Add Dummy Data 
eventsDatabase.add(eventOne); 
eventsDatabase.add(eventTwo); 
eventsDatabase.add(eventThree); 

} 

プロジェクト構造:

enter image description here

+0

正しくインポートされているかどうかを確認しますか? –

+0

@subburoyalそれはどういう意味ですか? – wmurmann

答えて

1

あなたのコードを見て、あなたのプロジェクトがMavenプロジェクトではないことをあなたは持っていなかったInfactは以来、私はあなたがのpom.xmlを定義することを見ることができますが、あなたは依存関係のパッケージングのためのポンポンを設定するというようにしかし、あなたはおそらくあなたが日食のIDEを使用しているMavenのcant'useこの理由のため

src 
- main 
    - java 
    - ..... 
    - resource 
    - .... 
    - webapp 
     WEB-INF 
     - .... 
     ..... 
- test 
    - java 
     - ..... 
    - resource 
     - .... 

以下のようなプロジェクト構造warをビルドするために、おそらく、WEB-INFの下のlibフォルダの下であなたの依存関係を正しくpakageしなかったでしょう。あなたは手動でpakageを正しく設定する必要があります。

私のアドバイスは、上で説明した構造を持つmavenのメリットのためのコードをリファクタリングしていました.Mavenの性質を設定するmavenプロジェクトがあり、Webアプリケーションの一般的な用途。あなたは、このような構造を使用sould:

は、あなたの春のWebコンテキストを設定します。あなたのWebコンテキストのルートSpringコンテキストの@ConfigurationクラスのgetRootConfigClasses、そしてあなたの@ConfigurationクラスのgetServletConfigClasses

public class PhoneBookServletInitializer extends AbstractAnnotationConfigDispatcherServletInitializer { 

    @Override 
    protected Class<?>[] getRootConfigClasses() { 
     return new Class[] {PhonBookApplicationContext.class}; 
    } 

    @Override 
    protected Class<?>[] getServletConfigClasses() { 
     return new Class[] {PhoneBookMvcContext.class}; 
    } 

    @Override 
    protected String[] getServletMappings() { 
     return new String[] {"/"}; 
    } 
} 

このようなあなたの春のWebコンテキストの設定:私は私のオープンソースプロジェクトの電話帳からispirationを取ることが、重要なポイントは、あなたがINDEPEND上記のようなあなたのコンテキストを設定していることである。このサンプルのため

@Configuration 
@EnableTransactionManagement 
@ComponentScan(basePackages = {"it.valeriovaudi.web.controller","it.valeriovaudi.web.rest"}) 
@EnableWebMvc 
public class PhoneBookMvcContext extends WebMvcConfigurerAdapter { 

// Thymeleaf Config 
/* 
* <bean id="templateResolver" 
     class="org.thymeleaf.templateresolver.ServletContextTemplateResolver" 
     p:prefix="/WEB-INF/templates/" 
     p:templateMode="HTML5" 
     p:suffix=".html"/> 
    <bean id="templateEngine" 
     class="org.thymeleaf.spring4.SpringTemplateEngine" 
     p:templateResolver-ref="templateResolver"> 
     <property name="additionalDialects"> 
     <set> 
     <bean class="org.thymeleaf.extras.springsecurity3.dialect.SpringSecurityDialect"/> 
     </set> 
     </property> 
    </bean> 
    <bean class="org.thymeleaf.spring4.view.ThymeleafViewResolver" 
      p:templateEngine-ref="templateEngine"/> 
    */ 
    @Bean 
    public ServletContextTemplateResolver templateResolver(){ 
     ServletContextTemplateResolver servletContextTemplateResolver = new ServletContextTemplateResolver(); 
     servletContextTemplateResolver.setPrefix("/WEB-INF/templates/"); 
     servletContextTemplateResolver.setSuffix(".html"); 
     servletContextTemplateResolver.setTemplateMode("HTML5"); 

     return servletContextTemplateResolver; 
    } 

    @Bean 
    public SpringTemplateEngine templateEngine(){ 
     SpringTemplateEngine springTemplateEngine = new SpringTemplateEngine(); 
     springTemplateEngine.setTemplateResolver(templateResolver()); 
     springTemplateEngine.setAdditionalDialects(Collections.singleton(new SpringSecurityDialect())); 
     return springTemplateEngine; 
    } 

    @Bean 
    public ThymeleafViewResolver thymeleafViewResolver(){ 
     ThymeleafViewResolver thymeleafViewResolver = new ThymeleafViewResolver(); 
     thymeleafViewResolver.setTemplateEngine(templateEngine()); 

     return thymeleafViewResolver; 
    } 

    /* 
    Message .properties sources 
    <bean id="messageSource" 
    class="org.springframework.context.support.ReloadableResourceBundleMessageSource" 
    p:basenames="WEB-INF/messages/messages"/> 
    */ 

    @Bean 
    public MessageSource messageSource(){ 
     ReloadableResourceBundleMessageSource reloadableResourceBundleMessageSource = new ReloadableResourceBundleMessageSource(); 
     reloadableResourceBundleMessageSource.setBasenames("WEB-INF/messages/messages"); 

     return reloadableResourceBundleMessageSource; 
    } 
    /* 
    <mvc:resources mapping="/resources*//**" location="web-resources/, classpath:/META-INF/resources/webjars/" /> 
    <mvc:resources mapping="/favicon.ico" location="web-resources/img/favicon.jpg" /> 
    */ 

    @Override 
    public void addResourceHandlers(ResourceHandlerRegistry registry) { 
     super.addResourceHandlers(registry); 

     registry.addResourceHandler("/resources/**").addResourceLocations("web-resources/").addResourceLocations("classpath:/META-INF/resources/webjars/"); 
     registry.addResourceHandler("/favicon.ico").addResourceLocations("web-resources/img/favicon.jpg"); 
    } 

} 

をあなたが構成したクラスの種類と、使用するために必要なプロジェクト構造を例にとります。

私はtht tisがあなたを助けることを願っています

関連する問題