• 締切済み

Spring MVC + Thymeleaf

Spring MVC + Thymeleafを勉強している中で、下記のサイトを参考に勉強しておりますが、 どうしてもエラーが解消されなく、投稿させていただきました。 ◼︎環境 mac 10.10.4 eclipse 4.4 tomcat 8.0.21 java 1.8.0_31 mysql 5.6.25 pom.xml 内設定(一部抜粋) <!-- Spring / Hibernate version --> <version.spring>4.2.0.RELEASE</version.spring> <version.spring.data>1.8.2.RELEASE</version.spring.data> <version.spring.boot>1.2.5.RELEASE</version.spring.boot> <version.hibernate>4.3.5.FINAL</version.hibernate> <version.aopalliance>1.0</version.aopalliance> <version.thymeleaf>2.1.4.RELEASE</version.thymeleaf> <!-- Test --> <version.junit>4.11</version.junit> <version.dbunit>2.4.9</version.dbunit> <!-- Hibernate and JPA --> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-core</artifactId> <version>${version.hibernate}</version> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-entitymanager</artifactId> <version>${version.hibernate}</version> </dependency> <dependency> <groupId>org.hibernate.javax.persistence</groupId> <artifactId>hibernate-jpa-2.0-api</artifactId> <version>1.0.1.Final</version> </dependency> <dependency> <groupId>org.hibernate.java-persistence</groupId> <artifactId>jpa-api</artifactId> <version>2.0-cr-1</version> </dependency> <!-- JSR 303 with Hibernate Validator --> <dependency> <groupId>javax.validation</groupId> <artifactId>validation-api</artifactId> <version>1.0.0.GA</version> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-validator</artifactId> <version>4.3.0.Final</version> </dependency> ◼︎参考サイト http://brissyu.blogspot.jp/2014/07/spring-mvc-thymeleaf-web003.html ◼︎問題 上記サイトで、DBテストを実施しておりますが下記エラーが表示されてしまう。 2015/08/02 14:16:56:386 WARN - AnnotationConfigWebApplicationContext.refresh Exception encountered during context initialization - cancelling refresh attempt org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [com/base/init/DbConfig.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean]: Factory method 'entityManagerFactory' threw exception; nested exception is java.lang.NoClassDefFoundError: org/hibernate/ejb/HibernatePersistence ◼︎試したこと バージョンなど、参考サイト(http://brissyu.blogspot.jp/2014/07/spring-mvc-thymeleaf-web001.html)に合わせて、検証もしましたがpoxの設定でHibernate 4.1.9.FINALを設定しましたが、エラーになり現状のバージョンで設定で実施しております。 お手数をお掛けいたしますが、上記解決方法のご教授をお願いいたします。

みんなの回答

noname#247307
noname#247307
回答No.2

Mavenを利用する場合、この種のエラーの原因はpom.xmlに記述しているdependencyのバージョン不整合が原因なことが多いと思います。 これは、動作が確認できているpom.xmlの内容をそのまま正確にうつしたものでしょうか。pom.xmlは、それぞれのdependencyのバージョンがきっちりと決められています。ですから、一部のdependencyのバージョンを勝手に書き換えたりすると、バージョン不整合で動かないことがよくあります。そのあたりを確認してみるといいかもしれません。Mavenのリポジトリのバージョンの関係は以下で検索して調べられます。 http://mvnrepository.com/ ※老婆心ながら、Spring MVCとThymeleafを学ぶなら、素のSpring MVCを使うより、今はSpring Bootを利用したほうが百倍楽だと思いますよ。pom.xmlのdependencyもシンプルで間違いにくいですし。 あるいは、どうしてもSpring MVCを素で使いたいなら、STSでプロジェクト生成すれば、pom.xmlで煩わされることもないと思います。今どき、pom.xmlを手書きしてSpring MVCを素のまま使うなんて、学習の方法としてちょっとどうだろうと思ってしまいます。

  • wormhole
  • ベストアンサー率28% (1626/5665)
回答No.1

Spring MVC + Thymeleaf や pox の事は存じませんが、 java.lang.NoClassDefFoundErrorは実行時に、そのクラスが見つからないときにスローされる例外ですので実行環境でのクラスパスを見直しましょう。

関連するQ&A