我正在使用JAXB为导入其他模式的模式生成类。 我正在使用maven并配置maven-jaxb2插件以将依赖项用作剧集,以跳过为导入的模式生成类。
尽管如此,JAXB仍然为导入的模式生成ObjectFactories,导致运行时出现类加载器冲突和错误行为。
作为一种解决方法,我正在使用maven-antrun-plugin来清理那些额外的文件。 有没有更好的方法来避免这个问题?
答案 0 :(得分:8)
即使有剧集,XJC有时会产生一些基本的ObjectFactory
。我知道这种效果并将其归因于XJC中的错误。到目前为止,我的解决方法正是您正在应用的方法,即maven-antrun-plugin
和delete
任务,例如here。
但是,如果您获得了所有内容 - 尽管有剧集 - 可能会出现配置问题。确保您的剧集工件包含有效META-INF\sun-jaxb.episode
schemaBindings map="false"
的包。
免责声明:我是maven-jaxb2-plugin
的作者。
答案 1 :(得分:0)
您生成的课程是否经常变化/变化?您可以删除生成一次后不再使用的任何生成代码。有时手动编写映射类更容易,因为您可以使用生成的代码不具有的@XmJavaTypeAdatper
之类的东西。