严重:异常启动过滤器CORS

时间:2013-05-06 08:15:06

标签: java web-services rest cors

我在tomcat上部署了RESTful Web服务'web服务在同一域方案中的客户端/服务器上工作正常'但是我需要从跨域提供Web服务'为此我使用了CORS过滤器

我在myProjects / lib和tomcat / lib'中都包含过滤器的jar,并且还包含了我的web服务项目的web.xml文件中的以下内容

<filter>
    <filter-name>CORS</filter-name>
    <filter-class>com.thetransactioncompany.cors.CORSFilter</filter-class>
</filter>

<init-param>
    <param-name>cors.supportedHeaders</param-name>
    <param-value>Accept, Origin, X-Requested-With, Content-Type, Last-Modified</param-value>
</init-param>

<filter-mapping>
    <filter-name>CORS</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping> 

但是当我尝试启动Web服务时,我收到有关CORS过滤器的错误:

SEVERE: Exception starting filter CORS
java.lang.NoClassDefFoundError: com/thetransactioncompany/util/PropertyParseException
at com.thetransactioncompany.cors.CORSFilter.init(CORSFilter.java:100)

请指导我弄清楚这种情况有什么问题'

5 个答案:

答案 0 :(得分:14)

您需要将java-properties-utils-1.7.1.jar文件添加到类路径中,因为cors过滤器具有依赖性。

http://search.maven.org/#browse%7C-411787350

答案 1 :(得分:0)

这可能是版本问题。我有同样的问题,事实证明这个过滤器至少需要Tomcat版本7.0.41才能工作,根据:http://enable-cors.org/server_tomcat.html

作为参考,Debian 7.8发布了Tomcat 7.0.28,它不支持原生CORS。

答案 2 :(得分:0)

我遇到了同样的问题。就我而言,问题是已从项目Deployment Assembly中的properties部分删除了maven依赖项。希望它可以帮到某人。

答案 3 :(得分:0)

在我的情况下,在tomcat lib文件夹中添加以下2个jar文件解决了这个问题。

CORS滤波器-2.5.jar java的属性-utils的-1.10.jar

答案 4 :(得分:0)

我有相同的概率,但是在某些情况下, 首先,我的服务器状态是未绑定的,所以我通过“构建路径”对其进行了更改 但是还是没用.. 我的朋友检查了一下,他发现 Eclipse的“自动构建”功能。 然后效果很好!