我从apache shiro doc页面下载了“Spring MVC + Shiro + myBatis + JSR-303 Validation”示例,我想用maven jetty插件运行它,所以我打开pom.xml并放置这样的东西
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>maven-jetty-plugin</artifactId>
<version>6.1.10</version>
<configuration>
<scanIntervalSeconds>10</scanIntervalSeconds>
<stopKey>foo</stopKey>
<stopPort>9999</stopPort>
<webAppConfig>
<contextPath>/</contextPath>
</webAppConfig>
<scanIntervalSeconds>10</scanIntervalSeconds>
<!-- <webAppSourceDirectory></webAppSourceDirectory> -->
</configuration>
<executions>
<execution>
<id>start-jetty</id>
<phase>pre-integration-test</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<scanIntervalSeconds>0</scanIntervalSeconds>
<daemon>true</daemon>
</configuration>
</execution>
<execution>
<id>stop-jetty</id>
<phase>post-integration-test</phase>
<goals>
<goal>stop</goal>
</goals>
</execution>
</executions>
</plugin>
之后我启动应用程序使用mvn jetty:run,我尝试在示例中注册一个用户,我得到一个例外: “ java.lang.ClassCastException:org.apache.shiro.web.servlet.ShiroHttpSession无法强制转换为org.mortbay.jetty.servlet.AbstractSessionManager $ SessionIf ”,有谁可以告诉我原因,以及thx很多。
答案 0 :(得分:0)
很可能ShiroHttpSession无法转换为AbstractSessionManager $ SessionIf,因为它不是它的实例。这看起来像Jetty中的一个错误。我重现了这个,然后将jetty插件升级到版本6.1.26,错误就消失了。