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

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

   
    org.springframework
    spring-tx
    3.1.2.RELEASE