1

私は、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.3maven を使用して最新のバージョンではなくバージョンを取得できるように、何らかの解決策が必要です。

どんな助けでも大歓迎です...

ありがとう...

4

1 に答える 1

2

多分私はこれを誤解しています、あなたはこのようなことを意味しますか?:

    <dependency>
        <groupId>org.apache.shiro</groupId>
        <artifactId>shiro-quartz</artifactId>
        <version>1.0.0-incubating</version>
        <exclusions>
            <exclusion>
                <groupId>quartz</groupId>
                <artifactId>quartz</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    <dependency>
        <groupId>org.quartz-scheduler</groupId>
        <artifactId>quartz</artifactId>
        <version>1.7.3</version>
    </dependency>

それから$ mvn dependency:tree

[...]

[INFO] +- org.apache.shiro:shiro-quartz:jar:1.0.0-incubating:compile
[INFO] |  \- org.apache.shiro:shiro-core:jar:1.0.0-incubating:compile
[INFO] |     +- org.slf4j:slf4j-api:jar:1.5.6:compile
[INFO] |     \- commons-beanutils:commons-beanutils:jar:1.7.0:compile
[INFO] \- org.quartz-scheduler:quartz:jar:1.7.3:compile
[INFO]    \- commons-logging:commons-logging:jar:1.1:compile
[INFO]       +- log4j:log4j:jar:1.2.12:compile
[INFO]       +- logkit:logkit:jar:1.0.1:compile
[INFO]       \- avalon-framework:avalon-framework:jar:4.1.3:compile
于 2010-10-02T15:39:05.460 に答える