2012-08-05 101 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