无法使Castor Mapping Tool工作

时间:2012-09-13 21:48:16

标签: java web-services web castor

我正在尝试使用Castor 1.3.2使用此程序自动生成映射文件。

但这是我得到的例外 - java.lang.IllegalArgumentException:没有枚举const类org.exolab.castor.mapping.xml.types.BindXmlNodeType.element

这是一个相当基本的测试,我做错了什么?

公共类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();
    }

}

谢谢!

1 个答案:

答案 0 :(得分:1)

我自己尝试过,我相信你正在做的一切。

我浏览了脚本源代码,据我所知,当他们将BindXmlNodeType重新设计为枚举类而不是常规类时,他们将MappingTool打破在1.3和1.3.2之间。他们正在寻找一个BindXmlNodeType.element的代码,但是现在BindXmlNodeType是一个枚举,他们需要查找ELEMENT(大写)。但我离题了......

如果你有能力恢复到castor 1.3,一切都应该有用。

BTW - 我试图升级到1.3.3-rc1,但Intellij无法解析maven依赖关系。例如,1.3.3-rc1中的castor-xml现在依赖于Spring!这个错误可能会在以后的版本中得到修复,但我并不乐观。