让我先说一下我所知道的关于Spring和Jetty的一切,我在试图调试这个问题的过程中学到了:我在战争中有这个上下文文件,就是设置认证管理器和http-basic安全模型。一台计算机,它工作正常,但在另一台计算机上 - 当然是我试图部署的 - jetty的日志在尝试加载该文件后停止。
该文件没有做任何异国情调,只是跟随网上的每个示例,以便稍后启动并运行shell以进行改进:
<security:http>
<security:http-basic></security:http-basic>
<security:intercept-url pattern="/dcap" access="ROLE_ANONYMOUS"/>
<security:intercept-url pattern="/LCL/**" access="ROLE_ANONYMOUS"/>
<security:intercept-url pattern="/**" access="ROLE_USER" />
</security:http>
<security:authentication-manager alias="authenticationManager">
<security:authentication-provider>
<security:user-service>
<security:user name="test" password="testpass" authorities="ROLE_USER" />
</security:user-service>
</security:authentication-provider>
</security:authentication-manager>
现在,我已经玩过这个了,如果我注释掉第一个块,我会得到相同的结果,如果我注释掉第二个块,我会得到相同的结果。但是,如果我注释掉两个块,Jetty实际上是启动的,而不是在配置阶段挂起,但抛出一个异常,它无法找到springSecurityFilterChain,这当然是有道理的。
所以,我想我的问题是,机器环境中可能存在哪些差异会导致该文件在另一台机器上运行时无法加载? (我担心它可能是在机器上它正在使用sun jvm,而在我正在使用的机器上,我必须使用openjdk。)还有其他任何步骤我可以采取调试这样的问题,Jetty的启动日志刚刚停止?
答案 0 :(得分:0)
问题是RNG中的熵不足。下载并安装了RNG工具,并将其插入urandom,它就像一个魅力。