尝试设置Jetty CORS访问时出现不可用异常

时间:2017-01-24 16:24:36

标签: java cors jetty geoserver

我一直在尝试关注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-INF的{​​{1}}文件夹。
  2. 将以下内容粘贴到我的libPastebin because editor didn't cooperate
  3. 如果我删除这些行,除了我有的CORS问题外,它还能正常工作。 (我试图访问特定像素的颜色值。

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

    更新:

    所以,按照@ sideshowbarker的建议,我插入了一个web.xml文件。现在我收到404错误,似乎是因为GeoServer设置无法找到servlets的定义。呃,什么?

    请找到以下内容:http://pastebin.com/4R8hZNcM

    更新2:

    所以,我已将所需的org/eclipse/jetty/util/StringUtil插入jar文件夹,现在它就WEB-INF投了NoSuchMethodError方法......什么? o.O

2 个答案:

答案 0 :(得分:2)

而不是这个罐子:

jetty-servlet-9.2.13.v20150730.jar

...也就是说,“servlet”,没有“s” - 这是一个不同的jar - 你实际上需要这个jar:

jetty-servlets-9.2.13.v20150730.jar

...也就是说,“servlets”带有“s”。正确?

http://repo1.maven.org/maven2/org/eclipse/jetty/jetty-servlets/9.2.13.v20150730/jetty-servlets-9.2.13.v20150730.jar

答案 1 :(得分:2)

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