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>