我有一个通过 Maven Jetty 插件运行的网络应用程序。
我使用 jetty.xml 文件配置它。当我想设置在 WebAppContext 中创建的自定义身份 validator 时,我的问题就出现了。 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>
当我运行上面的代码时,我得到“MY_CUSTOM_AUTHENTICATOR”类的 ClassNotFoundException
。我必须补充一点,该类存在于我启动 Jetty 的同一个 Maven 项目中。
为了让 Jetty 加载我的类,我必须执行“导入”语句吗?
谢谢。
最佳答案
您很可能需要将身份 validator 放在一个 Artifact 中,然后将其声明为 jetty maven 插件本身的依赖项。通过类加载器隔离,身份 validator 可能位于安全处理程序不可见的 Web 应用程序中。
关于java - Jetty.xml导入本地类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19518085/