eclipse jetty 插件跨源支持找不到类

sri*_*ram 3 java eclipse eclipse-plugin jetty cors

我正在尝试对我的 Web 应用程序使用跨源过滤器支持。我正在使用 eclipse jetty 插件从 eclipse 中调试它。当我通过控制台运行课程时,使用 mvn jetty:run,我总是得到正确的响应。但是当我使用我的 jetty eclipse 插件运行它时,我得到 Class not found 异常。

java.lang.ClassNotFoundException: org.eclipse.jetty.servlets.CrossOriginFilter
        at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
        at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:421)
        at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:383)
        at org.eclipse.jetty.util.Loader.loadClass(Loader.java:100)
Run Code Online (Sandbox Code Playgroud)

我的 pom.xml 中有以下依赖项:

<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-servlets</artifactId>
<version>9.2.5.v20141112</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)

当我在 eclipse 中检查我的码头项目的类路径配置时,我看到这个依赖项作为 maven 依赖项存在。我仍然不确定为什么 jetty 插件无法找到 org.eclipse.jetty.servlets.CrossOriginFilter 作为类路径的一部分。请帮我解决这个问题。

编辑:

看起来它不仅适用于 CORS。甚至 web.xml 中存在的其他类也会因找不到类而引发错误。我检查了该调试配置的码头类路径,并能够在那里找到这些罐子。不知道为什么会这样。

Joa*_*elt 5

那不能是您的 webappsWEB-INF/lib目录的一部分(不支持这种方式,因为它无法访问它需要的内部服务器组件)。

使servlets你的模块${jetty.base}/start.ini,而不是

--module=servlets
Run Code Online (Sandbox Code Playgroud)