1

Castor 1.3.2 を使用して、このプログラムを使用してマッピング ファイルを自動生成しようとしています。

しかし、ここに私が得る例外があります - java.lang.IllegalArgumentException: No enum const class org.exolab.castor.mapping.xml.types.BindXmlNodeType.element

これはかなり基本的なテストですが、何が間違っていますか?

public class CastorMapping {

    public CastorMapping()
    {
        try
        {
            MappingTool tool = new MappingTool();
            tool.setInternalContext(new org.castor.xml.BackwardCompatibilityContext());
            tool.addClass(TestRequest.class);
            OutputStream file = new FileOutputStream("gen_mapping.xml" );
            Writer writer = new OutputStreamWriter(file);
            tool.write(writer);
        }
        catch (Exception ex)
        {
            ex.printStackTrace();
        }
    }

    public static void main(String[] args)
    {
        new CastorMapping();
    }

}

ありがとう!

4

1 に答える 1

2

私はこれを自分で試しましたが、あなたはすべてを正しく行っていると思います。

キャスターのソースコードを閲覧したところ、BindXmlNodeTypeを通常のクラスではなく列挙型クラスに再設計したときに、1.3から1.3.2の間のどこかでMappingToolが壊れていました。BindXmlNodeType.elementを探しているコードがいくつかありますが、BindXmlNodeTypeが列挙型であるため、ELEMENT(キャップ​​)を検索する必要があります。しかし、私は逸脱します...

キャスター1.3に戻す余裕があれば、すべてが機能するはずです。

ところで-1.3.3-rc1にアップグレードしようとしましたが、IntellijはMavenの依存関係を解決できませんでした。たとえば、1.3.3-rc1のcastor-xmlはSpringに依存するようになりました。このバグは後のバージョンで修正される可能性がありますが、私は期待していません。

于 2012-09-13T23:25:05.517 に答える