JAXB在剧集中为包创建了重复的ObjectFactory

Lor*_*gli 4 java jaxb xjc maven

我正在使用JAXB为导入其他模式的模式生成类.我正在使用maven并配置maven-jaxb2插件以将依赖项用作剧集,以跳过为导入的模式生成类.

尽管如此,JAXB仍然为导入的模式生成ObjectFactories,导致运行时出现类加载器冲突和错误行为.

作为一种解决方法,我使用maven-antrun-plugin来清理那些额外的文件.有没有更好的方法来避免这个问题?

lex*_*ore 8

即使有剧集,XJC有时也会产生一些不成熟的东西ObjectFactory.我知道这种效果并将其归因于XJC中的错误.到目前为止,我的解决方法正是您正在应用的方法,即maven-antrun-plugin使用delete任务,就像这里一样.

但是,如果您获得了所有内容 - 尽管有剧集 - 可能会出现配置问题.确保您的插曲神器包含一个有效的META-INF\sun-jaxb.episodeschemaBindings map="false"你的包.

免责声明:我是作者maven-jaxb2-plugin.


mvd*_*mvd 0

您生成的类是动态的/经常变化的吗?您可以删除生成一次后不再使用的任何生成代码。有时,手动编写映射类甚至更容易,因为您可以使用诸如 之类的东西@XmJavaTypeAdatper,而生成的代码不会有这些。