Spring security jetty上的Web应用程序在到达Spring安全上下文文件时停止加载

Spring security jetty上的Web应用程序在到达Spring安全上下文文件时停止加载,spring-security,jetty,openjdk,Spring Security,Jetty,Openjdk,首先,我要说,我对Spring和Jetty的所有了解,都是在调试这个问题的过程中学到的:我在一场战争中有一个上下文文件,它只是设置身份验证管理器和http基本安全模型。在一台计算机上,它可以正常工作,但在另一台计算机上——当然是我试图部署到的计算机上——jetty的日志在尝试加载该文件后停止 该文件没有做任何异国情调的事情,只是大致遵循网络上的每个示例,以便启动并运行shell,以便在以后进行改进: <security:http> <securi

首先,我要说,我对Spring和Jetty的所有了解,都是在调试这个问题的过程中学到的:我在一场战争中有一个上下文文件,它只是设置身份验证管理器和http基本安全模型。在一台计算机上,它可以正常工作,但在另一台计算机上——当然是我试图部署到的计算机上——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的启动日志刚刚停止的问题吗?

问题是RNG中的熵不足。下载并安装了RNG工具,并将其插入urandom,它就像一个魔咒