2016-05-11 6 views
1

私はcaveofprogramming.comの春のチュートリアルのシリーズに従っています。私はデータベースにコントローラを接続しようとしています。私はフォームに投稿するとすべてをTに従いました。Spring MVC NoSuchMethodError

次のように
"HTTP Status 500 - Handler processing failed; nested exception is java.lang.NoSuchMethodError: org.springframework.jdbc.core.StatementCreatorUtils.javaTypeToSqlParameterType(Ljava/lang/Class;)I" 

エラーページの残りの部分が見えます:

タイプ例外レポート

message Handler processing failed; nested exception is java.lang.NoSuchMethodError: org.springframework.jdbc.core.StatementCreatorUtils.javaTypeToSqlParameterType(Ljava/lang/Class;)I 

description The server encountered an internal error that prevented it from fulfilling this request. 

exception 

org.springframework.web.util.NestedServletException: Handler processing failed; nested exception is java.lang.NoSuchMethodError: org.springframework.jdbc.core.StatementCreatorUtils.javaTypeToSqlParameterType(Ljava/lang/Class;)I 
    org.springframework.web.servlet.DispatcherServlet.triggerAfterCompletionWithError(DispatcherServlet.java:1275) 
    org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:951) 
    org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:867) 
    org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:951) 
    org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:853) 
    javax.servlet.http.HttpServlet.service(HttpServlet.java:648) 
    org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:827) 
    javax.servlet.http.HttpServlet.service(HttpServlet.java:729) 
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) 
root cause 

java.lang.NoSuchMethodError: org.springframework.jdbc.core.StatementCreatorUtils.javaTypeToSqlParameterType(Ljava/lang/Class;)I 
    org.springframework.jdbc.core.namedparam.BeanPropertySqlParameterSource.getSqlType(BeanPropertySqlParameterSource.java:101) 
    org.springframework.jdbc.core.namedparam.NamedParameterUtils.buildSqlParameterList(NamedParameterUtils.java:415) 
    org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate.getPreparedStatementCreator(NamedParameterJdbcTemplate.java:340) 
    org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate.update(NamedParameterJdbcTemplate.java:283) 
    com.merlin.spring.web.dao.OffersDAO.create(OffersDAO.java:58) 
    com.merlin.spring.web.service.OffersService.create(OffersService.java:26) 
    com.merlin.spring.web.controllers.OffersController.doCreate(OffersController.java:70) 
    sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    java.lang.reflect.Method.invoke(Method.java:498) 
    org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:215) 
    org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:132) 
    org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:104) 
    org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:743) 
    org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:672) 
    org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:82) 
    org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:933) 
    org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:867) 
    org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:951) 
    org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:853) 
    javax.servlet.http.HttpServlet.service(HttpServlet.java:648) 
    org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:827) 
    javax.servlet.http.HttpServlet.service(HttpServlet.java:729) 
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) 
note The full stack trace of the root cause is available in the Apache Tomcat/8.0.33 logs. 

のApache Tomcat/8.0.33

感謝の意を表します。

これは私のPOMですが、春の競合するバージョンは見られませんか?

<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>com.merlin.spring.web</groupId> 
    <artifactId>offers</artifactId> 
    <version>0.0.1-SNAPSHOT</version> 
    <packaging>war</packaging> 
    <build> 
    <sourceDirectory>src</sourceDirectory> 
    <plugins> 
     <plugin> 
     <artifactId>maven-war-plugin</artifactId> 
     <version>2.6</version> 
     <configuration> 
      <warSourceDirectory>WebContent</warSourceDirectory> 
      <failOnMissingWebXml>false</failOnMissingWebXml> 
     </configuration> 
     </plugin> 
     <plugin> 
     <artifactId>maven-compiler-plugin</artifactId> 
     <version>3.3</version> 
     <configuration> 
      <source>1.8</source> 
      <target>1.8</target> 
     </configuration> 
     </plugin> 
    </plugins> 
    </build> 
    <dependencies> 
    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-core</artifactId> 
     <version>3.2.16.RELEASE</version> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-beans</artifactId> 
     <version>3.2.16.RELEASE</version> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-context</artifactId> 
     <version>3.2.16.RELEASE</version> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-web</artifactId> 
     <version>3.2.16.RELEASE</version> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-webmvc</artifactId> 
     <version>3.2.16.RELEASE</version> 
    </dependency> 
    <dependency> 
     <groupId>javax.servlet</groupId> 
     <artifactId>jstl</artifactId> 
     <version>1.2</version> 
    </dependency> 
    <dependency> 
     <groupId>mysql</groupId> 
     <artifactId>mysql-connector-java</artifactId> 
     <version>5.1.38</version> 
    </dependency> 
    <!-- <dependency> 
     <groupId>javax.inject</groupId> 
     <artifactId>javax.inject</artifactId> 
     <version>1</version> 
    </dependency> --> 
    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-jdbc</artifactId> 
     <version>3.2.16.RELEASE</version> 
    </dependency> 
    <dependency> 
     <groupId>javax.validation</groupId> 
     <artifactId>validation-api</artifactId> 
     <version>1.1.0.Final</version> 
    </dependency> 
    <dependency> 
     <groupId>org.hibernate</groupId> 
     <artifactId>hibernate</artifactId> 
     <version>3.5.4-Final</version> 
     <type>pom</type> 
    </dependency> 
    <dependency> 
     <groupId>org.hibernate</groupId> 
     <artifactId>hibernate-validator</artifactId> 
     <version>5.0.1.Final</version> 
    </dependency> 
    <dependency> 
     <groupId>commons-validator</groupId> 
     <artifactId>commons-validator</artifactId> 
     <version>1.4.0</version> 
    </dependency> 
    </dependencies> 
</project> 
+0

すべてのjarファイルをあなたのプロジェクト戦争のlib'フォルダ 'にコピーされます。 ?? @schnimmy –

+0

動作中のプロジェクトサンプルについては、https://github.com/tgkprog/springHealthCare/を参照してください。マルチモジュールですが、テストをオフにするとコンパイルされます(読んでいるとあまりにも細かい設定が必要です)。 – tgkprog

+0

@VikrantKashyap I現在、EclipseからEclipseを使用しています。しかし、私がmavenを介して追加したすべての依存関係は、依存関係の下で対応するjarファイルを持っています。 – schnimmy

答えて

3

この種類の例外は、異なるSpringバージョンを混在させた場合に発生します。例として、互換性のないSpring CoreバージョンX、SpringデータバージョンYがあります。この問題を解決するには、類似の互換バージョンを使用してください。私は強く、複数の春の依存関係を使用する時はまたバージョンのため、このプロパティを使用することをお勧め

+0

私はポンを付けました、私は矛盾しているバージョンを参照してください? – schnimmy

+0

BOMを見て、参照しているものが他のスプリングコンポーネントを必要とするシナリオがあります。 – tgkprog

+0

https://github.com/anthavio/anthavio-maven-poms/blob/master/spring-framework-bomをご覧ください。 pom – tgkprog

0

等:

<spring.version>4.3.8.RELEASE</spring.version>