Shiro与Guice整合

时间:2014-02-06 10:49:10

标签: java guice shiro

我正在尝试将Guice与Shiro整合。我带着最新的Shiro JARs:

<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版本问题。

第一个问题

编译此代码的Maven配置是什么?

第二个问题

我总是遇到这种类型的版本问题并在网上搜索正确的版本。或者使用一个版本而不是另一个程序运行并确认程序运行。有没有办法克服这种类型的版本问题,以便一个版本的JAR与每个版本兼容?

1 个答案:

答案 0 :(得分:0)

某些类的Shiro包与本机java类的名称相同,请确保导入正确的类。