2010-09-29 36 views
1

我一直在我的grails項目中使用名爲quartz-all-1.7.3的lib工作Quartz框架。Shiro插件與Grails中的Quartz框架衝突

現在我需要將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-quartz-1.0.0-incubating.jar。所以,現在裏面這是我所看到的下面的代碼行pom.xml文件:

<dependency> 
    <groupId>quartz</groupId> 
    <artifactId>quartz</artifactId> 
</dependency> 

根據我們的pom.xml的線,沒有版本石英依賴標籤,這意味着每當四郎越來越安裝在我的項目,同時它正在用maven提取最新的石英庫,即1.8.3。

而在quartz 1.8.3裏面,CustomJDBCDelegate類的updateSchedulerState方法已從版本quarts 1.7.3更改。

所以現在問題是我不能在我現有的項目中更改quartz-all-1.7.3,並且想在我的項目中使用Shiro插件。

所以應該有一些解決方案,以便shiro應該得到quartz-1.7.3版本,而不是使用maven的最新版本。

任何幫助將高度讚賞...

謝謝...

回答

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