2012-08-05 100 views
4

讀取XSD文件,如果我有XSD文件Maven的JAXB生成插件在以下目錄中從多個目錄

src/main/resources/xsd 
src/main/resources/schema/common 
src/main/resources/schema/soap 

我怎麼能指示行家JAXB插件使用上述目錄中的所有模式文件生成JAXB類?我可以得到它來生成類文件,如果我指定的文件夾之一,但我不能讓我不知道如何包括所有三個文件夾。

這裏是我生成文件一個文件夾:

<plugin> 
      <groupId>org.jvnet.jaxb2.maven2</groupId> 
      <artifactId>maven-jaxb2-plugin</artifactId> 
      <executions> 
       <execution> 
        <goals> 
         <goal>generate</goal> 
        </goals> 
       </execution> 
      </executions> 
      <configuration> 
       <schemaDirectory>src/main/resources/xsd</schemaDirectory> 
      </configuration> 
     </plugin> 

我試圖在元素中添加多個條目,但它只是忽略了所有的人,如果我這樣做。

感謝

回答

8

ü可以嘗試這種配置:

<configuration> 
     <schemaDirectory>src/main/resources</schemaDirectory> 
    <schemaIncludes> 
     <include>xsd/*.xsd</include> 
      <include>schema/*/*.xsd</include> 
    </schemaIncludes> 
</configuration> 

來源:http://confluence.highsource.org/display/MJIIP/User+Guide

+0

謝謝我現在正在嘗試這個。 – ziggy 2012-08-05 12:13:54

2

插件描述把圖式文件到src/main/resources,而不是到子文件夾。我會建議使用默認的插件的約定而不是配置。此外,重要的是讓模式包含正確的文件,包括正確的文件夾。

在這種情況下最好的事情是有一個單獨的模塊,其中只包含模式和可能的一些支持類。

+0

是的,我的問題是架構在特定的目錄,是因爲它們是由模塊組織。如果我把它們都放在同一個文件夾中,我將包括Jaxb類,我不需要。 – ziggy 2012-08-05 12:08:56