0

我有一个通过Maven Jetty插件运行的网络应用程序。

我使用 jetty.xml 文件对其进行配置。当我想设置在 WebAppContext 中创建的自定义身份验证器时,我的问题就来了。XML 配置如下所示:

<New id="webAppContext" class="org.eclipse.jetty.webapp.WebAppContext">
    <Set name="contextPath">/</Set>
    <Set name="copyWebDir">true</Set>
    <Set name="extractWAR">false</Set>
    </Set>
    <Get name="securityHandler">
        <Set name="authenticator">
            <New class="MY_CUSTOM_AUTHENTICATOR">
            </New>
        </Set>
    </Get>
</New>

当我运行上述内容时,我得到了一个ClassNotFoundException“MY_CUSTOM_AUTHENTICATOR”类。我必须补充一点,该类存在于我从中启动 Jetty 的同一个 Maven 项目中。

为了让 Jetty 加载我的课程,我必须执行“导入”语句吗?

谢谢你。

4

1 回答 1

1

您很可能需要将您的身份验证器放在一个工件中,然后将其声明为 jetty maven 插件本身的依赖项。在使用类加载器隔离的情况下,身份验证器可能在您的 web 应用程序中,安全处理程序没有可见性。

于 2013-10-22T12:55:59.807 回答