我有一个网络应用程序,我通过 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加载我的课程,我必须做一个“导入”声明吗?
谢谢。
答案 0 :(得分:1)
您很可能需要在一个工件中使用您的身份验证器,然后将其声明为jetty maven插件本身的依赖项。在使用类加载器隔离的情况下,身份验证器可能位于安全处理程序无法查看的webapp中。