我有一個基於Maven的項目,我嘗試添加一些由「jaxb2-maven-plugin」Maven插件自動生成的JAXB類。然而,我的第一個切我有一個循環依賴循環:在Maven項目中管理JAXB生成的類
- 由於這些JAXB類尚未生成,我引用它們的其他來源有編譯錯誤。
- 由於這些其他源具有編譯錯誤,因此不會生成這些JAXB類。
好像有解決這個兩個明顯的可能性:
- 評論時的破環參數,使該項目建立和JAXB類是自動生成的。然後將生成的來源
/target
複製到/src/main/java
中,以便引用它們不會導致編譯錯誤。 - 創建一個完全獨立的項目,只包含JAXB的東西。將其作爲依賴項包含在我的主項目中。
我在這裏錯過了什麼嗎?選項#1看起來是平淡無味的......那只是不能是人們使用JAXB的方式。選項#2似乎更合理,但仍然效率低下且麻煩。爲了使用JAXB,我真的必須承擔一個完全獨立的項目的開銷嗎?
開發人員在Maven插件生成的同一個項目中使用了哪些更優雅的方法來引用JAXB生成的類?
UPDATE:按要求,這裏是我的POM的相關部分:
<build>
<plugins>
<plugin>
<!-- configure the compiler to compile to Java 1.6 -->
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>jaxb2-maven-plugin</artifactId>
<version>1.4</version>
<executions>
<execution>
<phase>generate-sources</phase>
<goals>
<goal>xjc</goal>
</goals>
</execution>
</executions>
<configuration>
<!-- The name of your generated source package -->
<packageName>com.mypackage</packageName>
</configuration>
</plugin>
</plugins>
</build>
當我運行mvn clean package
,我看到了/target
子目錄下生成我JAXB來源。但是,那些生成的源不會自動添加到編譯階段的類路徑中。
POST分辨率更新:事實證明,我的編譯問題有更多的事情要做,我是在Eclipse中運行的事實,它的Maven的集成有一些問題,「JAXB2 - Maven的插件」。有關該問題及其解決方案的更多詳細信息,請參閱this StackOverflow question。
請張貼POM的相關部分。 – jiggy 2012-08-15 15:42:55