Я пытаюсь интегрировать 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 была совместима с каждой версией?
Как выглядит остальная часть вашего ПОМ? Вы уверены, что у вас есть правильная версия Guice в вашем классе? «LinkedBindingBuilder» находится в банке Guice, а не в банке Shiro. – condit