2010-09-29 2 views
1

Я работаю с кварцевым каркасом в проекте grails с lib под названием quartz-all-1.7.3.Shiro Plugin, конфликтующий с каркасом кварца в Grails

Теперь мне нужно установить плагин siro для моего проекта. Таким образом, всякий раз, когда я устанавливаю 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 плагин Я обнаружил, что он имеет некоторые зависимости с плагинами. В том, что одной из зависимостей является shiro-quartz-1.0.0-incubating.jar. Таким образом, теперь в этом pom.xml файла я видел следующие строки коды:

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

По нашей линии в pom.xml, нет тегов версии с кварцевой зависимостью, это означает, что всякий раз, когда Сиро получение установлено в моем проект, одновременно он извлекает последнюю библиотеку кварца, т.е. 1.8.3 с maven.

И внутри этого quartz 1.8.3 метод updateSchedulerState класса CustomJDBCDelegate был изменен с версии quarts 1.7.3.

Так что теперь проблема заключается в том, что я не могу изменить quartz-all-1.7.3 в моем существующем проекте и хотел использовать плагин 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 
Смежные вопросы