Maven - Как мне получить плагин Castor для запуска в фазе создания источников? - PullRequest
3 голосов
/ 13 ноября 2010

Я создаю проект муравья.Один модуль включает файлы XSD, которые используются для генерации исходных файлов с использованием 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.

Спасибо, Тим

1 Ответ

4 голосов
/ 13 ноября 2010

Цель 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] 
<b>[INFO] --- castor-maven-plugin:1.0:generate (default) @ Q4169367 ---</b>
[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.

Если это не для вас, предоставьте проект, позволяющий воспроизвести и указать цель, которую вы вызываете.

...