2014-02-06 3 views
0

Я пытаюсь интегрировать Guice с Сиро. Я потянув за последние Shiro баночки с:Shiro Integration with Guice

<dependency> 
    <groupId>org.apache.shiro</groupId> 
    <artifactId>shiro-core</artifactId> 
    <version>1.2.2</version> 
</dependency> 
<dependency> 
    <groupId>org.apache.shiro</groupId> 
    <artifactId>shiro-guice</artifactId> 
    <version>1.2.2</version> 
</dependency> 
<dependency> 
    <groupId>org.apache.shiro</groupId> 
    <artifactId>shiro-web</artifactId> 
    <version>1.2.2</version> 
</dependency> 

Я не могу скомпилировать код, предоставленный в Shiro documentation.

class MyShiroModule extends ShiroModule { 
    protected void configureShiro() { 
    try { 
     // compile time error is shown with error message: 
     // "Method toConstructor is undefined in type LinkedBindingBuilder". 
     bindRealm().toConstructor(IniRealm.class.getConstructor(Ini.class)); 
    } catch (NoSuchMethodException e) { 
     addError(e); 
    } 
    } 
    @Provides 
    Ini loadShiroIni() { 
    return Ini.fromResourcePath("classpath:shiro.ini"); 
    } 
} 

Кажется, что есть проблема с версией JAR.

Первый вопрос

Whatis соответствующая конфигурация Maven скомпилировать этот код?

Второй вопрос

Я всегда лицо такого рода проблема версии и поиск в сети для правильной версии. Или используйте одну версию для другого запуска программы и убедитесь, что программа запущена. Есть ли способ преодолеть этот тип проблемы с версией, чтобы одна версия JAR была совместима с каждой версией?

+0

Как выглядит остальная часть вашего ПОМ? Вы уверены, что у вас есть правильная версия Guice в вашем классе? «LinkedBindingBuilder» находится в банке Guice, а не в банке Shiro. – condit

ответ

0

Некоторые классы пакетов Shiro имеют одно и то же имя родных классов Java, убедитесь, что вы импортируете правильные классы.

Смежные вопросы