2010-11-12 95 views
3

我是一個螞蟻項目的mavenizing。一個模塊包含用於使用Castor生成源文件的XSD文件。我有我辦一切工作:Maven - 如何讓Castor插件在生成源階段觸發?

mvn castor:generate package 

但是我不能得到它沒有具體說明在命令行中運行我的插件生成的目標。我的插件xml部分如下:

<plugin> 
     <groupId>org.codehaus.mojo</groupId> 
     <artifactId>castor-maven-plugin</artifactId> 
     <version>1.0</version> 
     <configuration> 
     </configuration> 
     <executions> 
     <execution> 
      <phase>generate-sources</phase> 
      <goals> 
      <goal>generate</goal> 
      </goals> 
     </execution> 
     </executions> 
</plugin> 

我已經嘗試了一些沒有任何運氣的階段條目。任何想法我在這裏做錯了嗎?我已經在Windows XP和Linux中使用Maven 2和3進行了測試。我已經使用1.0版本(我必須使用它)和2.0版本的castor-maven-plugin進行了測試。

感謝 添

+0

你用-X看過跟蹤嗎?你確定它不需要一些最小的配置? – bmargulies 2010-11-12 22:19:51

+0

我傾倒了蹤跡並搜索了任何有關Castor插件的文件。沒有。 – 2010-11-15 13:54:41

回答

4

castor:generate目標是默認的生命週期階段generate-sources束縛,所以你甚至不必將其明確綁定,除非你想將其綁定到課程的另一個階段。

假設你*.xsd在默認目錄src/main/castor,下面因此將是不夠的:

<plugin> 
    <groupId>org.codehaus.mojo</groupId> 
    <artifactId>castor-maven-plugin</artifactId> 
    <version>1.0</version> 
    <configuration> 
     <!--schema>src/main/castor/schema.xsd</schema--> 
    </configuration> 
    <executions> 
     <execution> 
     <goals> 
      <goal>generate</goal> 
     </goals> 
     </execution> 
    </executions> 
    </plugin> 

而且假設你有一個src/main/castor/castorbuilder.properties文件,這裏是調用一個階段後的generate-sources階段時的輸出:

 
$ mvn package [INFO] Scanning for projects... 
[INFO]                   
[INFO] ------------------------------------------------------------------------ 
[INFO] Building Q4169367/ 1.0-SNAPSHOT 
[INFO] ------------------------------------------------------------------------ 
[INFO] 
[INFO] --- castor-maven-plugin:1.0:generate (default) @ Q4169367 --- 
[INFO] Processing /home/pascal/Projects/stackoverflow/Q4169367/src/main/castor/schema.xsd 
[INFO] 
[INFO] --- maven-resources-plugin:2.4.3:resources (default-resources) @ Q4169367 --- 
[INFO] Using 'UTF-8' encoding to copy filtered resources. 
[INFO] skip non existing resourceDirectory /home/pascal/Projects/stackoverflow/Q4169367/src/main/resources 
[INFO] 
[INFO] --- maven-compiler-plugin:2.3.2:compile (default-compile) @ Q4169367 --- 
[INFO] Compiling 3 source files to /home/pascal/Projects/stackoverflow/Q4169367/target/classes 
... 

換句話說,插件的1.0版本按預期觸發(2.0版本也可以)。使用Maven 3.0進行測試。

如果它不適合你,請提供一個項目,允許你複製並提及你所調用的目標。

+0

帕斯卡,你是對的。你所擁有的與我所擁有的幾乎完全相同。我意識到我錯了什麼。在某個時候,我添加了一個標記,Castor的插件XML最終以該標記代替標準標記。將它移出解決了這個問題。謝謝。 – 2010-11-15 14:00:36

相關問題