在RamlValidationService中获取java.lang.NoSuchFieldError:VALUE

时间:2015-09-04 16:34:30

标签: java yaml restful-architecture raml raml-java-parser

我想创建一个RAML验证器,它将获得jQuery documentation resturn验证结果。对于我使用RAML URLs。根据其自述文件,我尝试在下面的代码行中执行:

String sourceUrl = "http://api.apihub.com/onpositive/api/espn-raml-api/espn.raml";
List<ValidationResult> results = RamlValidationService.createDefault().validate(sourceUrl);

并获得以下错误消息:

java.lang.NoSuchFieldError: VALUE

为什么我收到此错误?在此之前,我得到了一些类未找到的异常,因此我已经手动应用了下面的jar库。

> juniversalchardet_1.0.3_1.0.0.jar 
> raml_parser_0.8.11_1.0.0.jar
> rhino_1.7R4_1.0.0.jar 
> snakeyaml-1.16.jar
> jackson_databind_2.4.4_1.0.0.jar

我也试过以下的东西。 inputStream是我通过ByteArrayInputStream解析的RAML内容。但是raml-java-parser并不是一个无效的RAML,因此我可能做错了。

this validation result

1 个答案:

答案 0 :(得分:1)

从未见过这个错误。我怀疑你可能仍然会错过依赖。

确实,Java RAML解析器has more dependencies比您手动添加的这些JAR少。你在pom中看到的依赖关系只是冰山一角,也有大量的传递依赖。

所以:为你的项目使用一个合适的依赖管理器(比如Maven)。它将负责为您带来所有依赖(直接和传递)。此外,除非这是一个玩具项目,否则无论如何都需要一个合适的构建工具。