2013-05-21 34 views
1

早上好大家, 我试图在我的应用程序中使用mojo jaxb2 maven插件,但是无论何时架构得到正确创建,在相同的文件夹中它会生成整个类(作为。类)。 我会说,出于某种原因,maven /编译器正在/ schemas /文件夹中创建输出类。 关键是我想输出将在其他项目中使用的* .xsd文件。 这里是从我的POM的摘录:Mojo schemagen maven插件错误地生成类

<plugins> 
      <plugin> 
       <groupId>org.codehaus.mojo</groupId> 
       <artifactId>jaxb2-maven-plugin</artifactId> 
       <version>1.5</version> 
       <executions> 
        <execution> 
         <phase>generate-resources</phase> 
         <id>schemagen</id> 
         <goals> 
          <goal>schemagen</goal> 
         </goals> 
         <configuration> 
          <includes> 
           <include>com/delagelanden/rijee6/domain/*.java</include> 
          </includes> 
          <outputDirectory>${project.build.directory}/schemas</outputDirectory> 
          <verbose>true</verbose> 
         </configuration> 
        </execution> 
       </executions> 
      </plugin> 
     </plugins> 

回答

1

有人问同样的问题在这里[1],这似乎是一个悬而未决的问题。

我找到的解决方案是使用maven-resources-plugin [2]中的'copy-resources'目标,其中仅包含.xsd文件。

 <plugin> 
      <groupId>org.codehaus.mojo</groupId> 
      <artifactId>jaxb2-maven-plugin</artifactId> 
      <version>1.5</version> 
      <executions> 
       <execution> 
        <id>schemagen</id> 
        <goals> 
         <goal>schemagen</goal> 
        </goals> 
       </execution> 
      </executions> 
      <configuration> 
       <includes> 
        <include>**/*.java</include> 
       </includes> 
       <outputDirectory>${project.build.directory}/generated-resources/schemas</outputDirectory> 
      </configuration> 
     </plugin> 
     <plugin> 
      <artifactId>maven-resources-plugin</artifactId> 
      <version>2.6</version> 
      <executions> 
       <execution> 
        <id>copy-resources</id> 
        <phase>process-resources</phase> 
        <goals> 
         <goal>copy-resources</goal> 
        </goals> 
        <configuration> 
         <outputDirectory>${project.build.outputDirectory}/META-INF/schema</outputDirectory> 
         <resources> 
          <resource> 
           <directory>${project.build.directory}/generated-resources/schemas</directory> 
           <includes> 
            <include>**/*.xsd</include> 
           </includes> 
          </resource> 
         </resources> 
        </configuration> 
       </execution> 
      </executions> 
     </plugin> 

[1] http://mojo.10943.n7.nabble.com/Maven-Jaxb2-plugin-schemagen-generating-classes-td40005.html [2] http://maven.apache.org/plugins/maven-resources-plugin/examples/copy-resources.html