Как сгенерировать файлы Java Class из XML, используя org.exolab.castor? - PullRequest
0 голосов
/ 31 марта 2020

Мой вопрос может быть относительно простым, но я не могу найти достаточно документации в Интернете. У меня не было другого выбора, кроме как обратиться за помощью к stackoverflow.

Я пытаюсь сгенерировать java файлы из XML (желательно с использованием maven).

Мой XML файл выглядит как-то вот так.

<?xml version="1.0" encoding="UTF-8"?>
<Module xmlns="http://www.w3.org/2001/XMLSchema">
    <Filters>
        <Filter name="A" paramName="A" cType="text"
            dataType="number" displayLabel="com.filter.A"/>
        <Filter name="B" paramName="B"
            cType="text" dataType="number"/>
        <Filter name="C" paramName="C" cType="text"
            dataType="number" displayLabel="com.filter.C"/>
        <Filter name="D" paramName="D" dataType="string" displayLabel="com.D">
            <option name="Business" value="Time" selected="true"/>
            <option name="Gregorian" value="Time PRL"/>
        </Filter>
    </Filters>
</Module>

Я выполняю команду:

java -cp castor-codegen-1.4.1.jar;castor-core-1.4.1.jar;castor-xml-1.4.1.jar;castor-xml-schema-1.4.1.jar;commons-logging-1.1.1.jar;commons-lang3-3.10.jar; org.exolab.castor.builder.SourceGeneratorMain -i redshift_dbmodel.xml -package com.mycompany.mypackage

Я получаю следующую ошибку

<Module> elements are either currently unsupported or non-valid schema elements.
java.lang.NullPointerException
        at java.util.Hashtable.put(Unknown Source)
        at org.exolab.castor.builder.BuilderConfiguration.setLocationPackageMapping(BuilderConfiguration.java:599)
        at org.exolab.castor.builder.SourceGenerator.generateSource(SourceGenerator.java:738)
        at org.exolab.castor.builder.SourceGenerator.generateSource(SourceGenerator.java:690)
        at org.exolab.castor.builder.SourceGenerator.generateSource(SourceGenerator.java:587)
        at org.exolab.castor.builder.SourceGeneratorMain.main(SourceGeneratorMain.java:303)

Я потратил много времени, пытаясь выяснить причину этой ошибки, но я не в состоянии. Любая помощь будет высоко оценена.

...