私は、grails プロジェクトで Quartz-all-1.7.3 という lib を使用して Quartz フレームワークを使用しています。
次に、プロジェクトに shiro プラグインをインストールする必要があります。そのため、プロジェクトに shiro プラグインをインストールするたびに、正常にインストールされます..
しかし、プロジェクトを再度実行するたびに、次のようにコンパイルエラーが発生します。
[groovyc] org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
[groovyc] Compile error during compilation with javac.
[groovyc] ....scheduler\quartz\framework\CustomJDBCDelegate.java:46: com.securonix.application.scheduler.quartz.framework.CustomJDBCDelegate is not abstract and does not override abstract method updateSchedulerState(java.sql.Connection,java.lang.String,long,java.lang.String) in org.quartz.impl.jdbcjobstore.DriverDelegate
[groovyc] public class CustomJDBCDelegate implements DriverDelegate, StdJDBCConstants {
[groovyc] ^
そのため、shiro プラグインを長い間調べたところ、プラグインとの依存関係があることがわかりました。その依存関係の 1 つが shiro-quartz-1.0.0-incubating.jar です。そのため、pom.xml ファイル内に次の行コードが表示されます。
<dependency>
<groupId>quartz</groupId>
<artifactId>quartz</artifactId>
</dependency>
pom.xml の行によると、quartz 依存関係のあるバージョンのタグはありません。つまり、プロジェクトに shiro がインストールされるたびに、同時に maven を使用して 1.8.3 などの quartz の最新ライブラリが抽出されます。
その中でquartz 1.8.3
、クラス CustomJDBCDelegate のメソッド updateSchedulerState が version から変更されましたquarts 1.7.3
。
今の問題はquartz-all-1.7.3
、既存のプロジェクトで変更できず、プロジェクトでも Shiro プラグインを使用したかったことです。
そのため、shiro がquartz-1.7.3
maven を使用して最新のバージョンではなくバージョンを取得できるように、何らかの解決策が必要です。
どんな助けでも大歓迎です...
ありがとう...