java - 无法使用 Castor 映射工具

标签 java web-services web castor

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

但这是我得到的异常(exception) - java.lang.IllegalArgumentException:没有枚举 const 类 org.exolab.castor.mapping.xml.types.BindXmlNodeType.element

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

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

}

谢谢!

最佳答案

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

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

如果您有能力恢复到 Castor 1.3,一切都应该可以正常工作。

顺便说一句 - 我尝试升级到 1.3.3-rc1,但 Intellij 无法解析 Maven 依赖项。例如 1.3.3-rc1 中的castor-xml 现在依赖于 Spring!这个bug可能会在以后的版本中得到修复,但我不抱希望。

关于java - 无法使用 Castor 映射工具,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12415265/

相关文章:

java - 查找数组中最大元素的索引

java - 在 Java 中使用 proto3 时,对象中的长值未正确序列化和反序列化

html - 如何在 flexbox 中的元素周围创建边框

java - spring-boot 中的 json 日期格式

java - 找不到适合 jdbc :mysql://localhost:3306/test 的驱动程序

.net - 在哪里启用元数据(在配置中启用)?

rest - `STATE TRANSFER`的缩写 `REPRESENTATIONAL STATE TRANSFER`的几个误区

c# - 无法生成服务引用代码

java - Spring MVC - 找不到页面

web - 为什么登录字段大多是右对齐的?