我正在尝试使用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();
}
}
谢谢!
答案 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!这个错误可能会在以后的版本中得到修复,但我并不乐观。