java - 获取 java.lang.NoSuchFieldError : VALUE in RamlValidationService

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

我想创建一个 RAML validator 来获取 RAML URLs返回验证结果。为此,我使用 raml-java-parser .根据其自述文件,我尝试执行以下代码行:

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内容。但是this不是无效的 RAML,因此我可能做错了什么。

validation result converting to RAML object

最佳答案

从未见过此错误。我怀疑您可能仍然缺少依赖项。

的确,Java RAML 解析器 has more dependencies而不是您手动添加的这几个 JAR。您在 pom 中看到的依赖项只是冰山一角,还有大量的传递依赖项。

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

关于java - 获取 java.lang.NoSuchFieldError : VALUE in RamlValidationService,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32402777/

相关文章:

java - 带有 UTF-8 字符的 Docusign Rest

amazon-web-services - 如何在一个区域的 3 个不同可用区启动三个相同的 EC2 实例而不使用自动扩展

使用 "extends"的 Azure yaml 管道

json - 什么是 "representation"、 "state"和 "transfer"在具象状态传输 (REST) 中?

java - J2EE连接远程Oracle DB表

java - 如何使用 javap 工具打印 jar 文件中的类结构?

java - 如何满足参数类型Class<?在java中扩展someInterface>

ruby-on-rails - 如何在 Rails 中使用 to_yaml 方法,并删除 '---'

java - 带有元数据的 Response.ok

c# - RESTful设计——通过传递列表请求多条记录