我有一个基于Maven的项目,其中我尝试添加由“jaxb2-maven-plugin”Maven插件自动生成的一些JAXB类.但是,我的第一个剪辑让我处于循环依赖循环中:
>因为这些JAXB类尚未生成,所以引用它们的其他来源有编译错误.
>因为这些其他源有编译错误,所以这些JAXB类不会生成.
似乎有两个明显的可能性来解决这个问题:
注释掉破坏的引用,以便项目生成并自动生成JAXB类.然后将这些生成的源从/ target复制到/ src / main / java中,以便引用它们不会导致编译错误.
>创建一个完全独立的项目,只包含JAXB的东西.将其作为我的主要项目中的依赖项.
我在这里遗漏了什么吗?选项#1看起来很可笑,只不过是人们使用JAXB的方式.选项#2似乎更加理性,但仍然效率低下且繁琐.我真的需要花费一个完全独立的项目的开销才能使用JAXB?
在Maven插件生成它们的同一个项目中,开发人员是否使用更优雅的方法来引用JAXB生成的类?
更新:根据请求,这里是我的POM的相关部分:
org.apache.maven.plugins
maven-compiler-plugin
1.6
1.6
org.codehaus.mojo
jaxb2-maven-plugin
1.4
generate-sources
xjc
com.mypackage
当我运行mvn clean包时,我看到我的JAXB源生成在/ target子目录下面.但是,这些生成的源不会自动添加到编译阶段的类路径中.
后解决方案更新:事实证明,我的编译问题与我在Eclipse中运行的事实有关,而且它的Maven集成与“jaxb2-maven-plugin”有一些问题.有关该问题及其解决方案的更多详细信息,请参阅this StackOverflow question.