尝试设置 Jetty CORS 访问时出现 UnavailableException

UnavailableException when trying to set up Jetty CORS access

我一直在尝试关注 this 并在答案中链接以尝试设置 CORS 访问,显然 localhostlocalhost:8080 是两个不同的域。 感叹

无论哪种方式,我遇到的问题是在启动服务器时抛出 javax.servlet.UnavailableException: org.eclipse.jetty.servlets.CrossOriginFilter 异常。我不知道是什么原因造成的。

尝试使用其中的服务时出现 503 错误。

采取的步骤:

  1. 已将 jetty-servlet-9.2.13.v20150730.jar 从 Geoserver lib 文件夹复制到 webapps WEB-INFlib 文件夹。
  2. 将以下内容粘贴到我的 web.xml 中:Pastebin because editor didn't cooperate

如果我删除这些行,它工作正常,除了我遇到的 CORS 问题。 (我正在尝试访问特定像素的颜色值。

除了那个和添加的 WMS 之外,Geoserver 实例几乎是全新安装的。

更新:

因此,按照@sideshowbarker 的建议,我插入了一个 servlets 文件。现在我收到 404 错误,似乎是由于 GeoServer 设置无法找到 org/eclipse/jetty/util/StringUtil 的定义引起的。呃,什么?

请找到这个的pastebin:http://pastebin.com/4R8hZNcM

更新 2:

所以,我已将所需的 jar 插入到 WEB-INF 文件夹中,现在它抛出一个 NoSuchMethodError 关于 csvSplit 方法...什么? o.O

jetty-util 有一个错误的 StringUtil class,以及一个错误的 csvSplit 方法。用最新的 (9.4.*) jar 替换它解决了这个问题。