開発者ドキュメント

java.lang.ClassNotFoundException:org.springframework.transaction.TransactionException

Spring 3でQuartzを開発し、エラーメッセージの後にヒットします。

Caused by:
       java.lang.NoClassDefFoundError: org/springframework/transaction/TransactionException
    at java.lang.Class.getDeclaredConstructors0(Native Method)
    at java.lang.Class.privateGetDeclaredConstructors(Class.java:2389)
    at java.lang.Class.getConstructor0(Class.java:2699)
    at java.lang.Class.getDeclaredConstructor(Class.java:1985)
        .....
Caused by: java.lang.ClassNotFoundException: org.springframework.transaction.TransactionException
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1711)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1556)
    ... 29 more

解決策

Quartzでは問題ありません。上記のエラーメッセージは、Springのトランザクション依存性が必要であることを示しています。これを修正するには `spring-tx.jar`をインクルードするだけです。

たとえば、pom.xml

   <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-tx</artifactId>
    <version>3.1.2.RELEASE</version>
   </dependency>
モバイルバージョンを終了