当使用Apache XML Beans从xsd:enumeration类型生成类型时,XMLBeans会生成不是Java 5枚举的自定义类,而是用于表示枚举的某种特殊类。
可能就是这种情况,因为XMLBeans比Java 5旧,当时没有枚举,或者您仍然希望保持Java 1.4兼容性。但是,我想得到“真正的”枚举类型,所以我的问题是:有没有办法用Apache XML Beans生成Java 5枚举?
(Jaxb按照我的意愿执行此操作,但我不确定是否要删除XMLBeans并仅为此细节引入Jaxb。)
答案 0 :(得分:1)
我认为你无法用XML bean实现你想要的东西。你甚至自己提到了这个原因。我建议你搬到JaxB。
但如果您真的希望继续使用XML bean,我建议您使用补丁。您可以对生成的类进行后处理并将其转换为枚举。我过去使用ant任务做了类似的事情。有一些ant任务知道执行字符串替换,所以这不是问题。在更糟糕的情况下,您可以在java中实现自己的任务。但我相信你没有。我认为这是最简单的解决方案。
祝你好运。