Парсер Java RAML: java.lang.NoSuchFieldError: VALUE

Это та же ошибка, что и здесь: Получение java.lang.NoSuchFieldError: VALUE в RamlValidationService

Однако в этом случае проблема заключалась не в использовании Maven для депов, а в том, что я это делаю.

Мой простой файл RAML:

/echo:
    /{str}:
        uriParameters:
            str:
                type: string
        get:
            displayName: Used to retrieve a specific page
            responses:
                200:
                    displayName: Page returned successfully
                404:
                    displayName: Page not found

Мое простое использование Java:

File apiDir = new File("api");

        File[] directoryListing = apiDir.listFiles();
        if (directoryListing != null) {
            for (File child : directoryListing) {
                RamlDocumentBuilder rdb = new RamlDocumentBuilder();
                System.out.println("________ child.getAbsolutePath(): "
                        + child.getAbsolutePath());
                if (child != null) {
                    try {
                        Raml raml = rdb.build(new FileReader(child));
                    } catch (FileNotFoundException fnfe){
                        throw new RuntimeException("Problem with raml file: ", fnfe);
                    }
                } else {
                    System.out.println("Ignoring file: " + child);
                }
            }
        } else {
            throw new RuntimeException("api directory is not a directory.");
        }

мой простой pom.xml:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>my.group</groupId>
    <artifactId>my-project</artifactId>
    <version>0.0.1</version>
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <compilerVersion>1.8</compilerVersion>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>
        </plugins>
    </build>
    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>3.8.1</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>com.sparkjava</groupId>
            <artifactId>spark-core</artifactId>
            <version>2.3</version>
        </dependency>
        <dependency>
            <groupId>io.fastjson</groupId>
            <artifactId>boon</artifactId>
            <version>0.33</version>
        </dependency>
        <dependency>
            <groupId>com.squareup</groupId>
            <artifactId>javapoet</artifactId>
            <version>1.5.1</version>
        </dependency>
        <dependency>
            <groupId>org.raml</groupId>
            <artifactId>raml-parser</artifactId>
            <version>0.8.11</version>
        </dependency>
    </dependencies>
</project>

А вот и забавная ошибка:

Exception in thread "main" java.lang.NoSuchFieldError: VALUE
    at org.raml.parser.utils.NodeUtils.<clinit>(NodeUtils.java:34)
    at org.raml.parser.visitor.NodeVisitor.resolveTag(NodeVisitor.java:164)
    at org.raml.parser.visitor.NodeVisitor.doVisitMappingNode(NodeVisitor.java:139)
    at org.raml.parser.visitor.NodeVisitor.visitDocument(NodeVisitor.java:209)
    at org.raml.parser.visitor.YamlDocumentBuilder.build(YamlDocumentBuilder.java:90)
    at org.raml.parser.visitor.YamlDocumentBuilder.build(YamlDocumentBuilder.java:113)
    at my.group.App.main(App.java:27)

Редактировать 1: Если я использую прямой SnakeYAML, все в порядке.


person mtyson    schedule 13.02.2016    source источник
comment
Вы нашли решение этой проблемы?   -  person Rufi    schedule 16.03.2016
comment
@VladimirTikhomirov В итоге я просто использовал SnakeYAML для разбора моих RAML-файлов...   -  person mtyson    schedule 27.03.2016