2011-07-11 41 views
5

我試圖在一個項目中生成兩個xmlbeans。例如,每個人都獲得參與者對象,所以我不能將它們放在一個配置中。我做的方式是使用兩個excution,這裏是我的pom文件:如何在一個pom文件中生成兩個xmlbeans

  <plugin> 
      <groupId>org.codehaus.mojo</groupId> 
      <artifactId>xmlbeans-maven-plugin</artifactId> 
      <version>2.3.3</version> 
      <executions> 
       <execution> 
        <id>xmlbean1</id> 
        <phase>generate-sources</phase> 
        <goals> 
         <goal>xmlbeans</goal> 
        </goals> 
        <configuration> 
         <xmlConfigs> 
          <xmlConfig implementation="java.io.File">src/main/xsdconfig/xmlbean1</xmlConfig> 
         </xmlConfigs> 
         <verbose>true</verbose> 
         <schemaDirectory>src/main/xsd/xmlbean1</schemaDirectory> 
        </configuration> 
       </execution> 
       <execution> 
        <id>xmlbean2</id> 
        <phase>generate-sources</phase> 
        <goals> 
         <goal>xmlbeans</goal> 
        </goals> 
        <configuration> 
         <xmlConfigs> 
          <xmlConfig implementation="java.io.File">src/main/xsdconfig/xmlbean2</xmlConfig> 
         </xmlConfigs> 
         <verbose>true</verbose> 
         <schemaDirectory>src/main/xsd/xmlbean2</schemaDirectory> 
        </configuration> 
       </execution> 
      </executions> 
      <inherited>true</inherited> 
     </plugin> 

但它根本不工作。任何人都可以幫助我,謝謝

+0

是有什麼錯誤嗎? – drekka

+0

是否生成單個xmlbeans的工作? –

+0

謝謝大家,我得到了答案,下面的pom工作正常: – Luke

回答

1

你應該嘗試使用另一個不同的階段進行第二次調用。 AFAIK相同的插件無法在同一生命週期階段執行兩次。

1

這不起作用,因爲id僅用於查找現有執行(當您想調整它時)。

你的問題是,Maven不能在相同的phase中運行兩次相同的插件。

你有什麼選擇?

  1. 拆分成不同的子模塊

  2. 使用Ant創建的XMLBeans和使用the antrun element.

但我不知道爲什麼你不能同時採用兩種xmlConfig元素。只要把你所有的.xsd文件到一個目錄下,並創建儘可能多的豆子從他們在必要時(見「Multiple XSDConfig Directories」)

+0

,因爲thoes兩個xmlbeans都有相同的組件,比如參與者,並且maven在編譯時會發生衝突。 – Luke

2

謝謝大家,我得到了答案,下面的POM工作正常:

<executions> 
       <execution> 
        <id>id1</id> 
        <phase>generate-sources</phase> 
        <goals> 
         <goal>xmlbeans</goal> 
        </goals> 
        <configuration> 
         <schemaDirectory>src/main/xsd/first</schemaDirectory> 
         <xmlConfigs> 
          <xmlConfig implementation="java.io.File">src/main/xsdconfig/first</xmlConfig> 
         </xmlConfigs> 
         <verbose>true</verbose> 
         <sourceGenerationDirectory>target/first-resource</sourceGenerationDirectory> 
         <classGenerationDirectory>target/first-class</classGenerationDirectory> 
         <staleFile>target/first/first.stale</staleFile> 
        </configuration> 
       </execution> 
       <execution> 
        <id>id2</id> 
        <phase>generate-sources</phase> 
        <goals> 
         <goal>xmlbeans</goal> 
        </goals> 
        <configuration> 
         <schemaDirectory>src/main/xsd/second</schemaDirectory> 
         <xmlConfigs> 
          <xmlConfig implementation="java.io.File">src/main/xsdconfig/second</xmlConfig> 
         </xmlConfigs> 
         <verbose>true</verbose> 
         <sourceGenerationDirectory>target/second-resource</sourceGenerationDirectory> 
         <classGenerationDirectory>target/second-class</classGenerationDirectory> 
         <staleFile>target/second/second.stale</staleFile> 
        </configuration> 
       </execution> 
      </executions> 
相關問題