0

Apache shiro doc page から「 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 cannot be cast to org.mortbay.jetty.servlet.AbstractSessionManager$SessionIf "、だれか理由を教えてください。

4

1 に答える 1

0

ほとんどの場合、ShiroHttpSession は AbstractSessionManager$SessionIf のインスタンスではないため、AbstractSessionManager$SessionIf にキャストできません。これは Jetty のバグのようです。これを再現し、jetty プラグインをバージョン 6.1.26 にアップグレードすると、エラーはなくなりました。

于 2012-06-11T15:49:53.977 に答える