maven-jaxb2-plugin Эпизод того же проекта в Maven, возможно?

У меня есть basic.xsd и два других A.xsd а также B.xsd, A.xsd а также B.xsd конвертироваться в два разных java-пакета, поэтому мне нужно два Maven-исполнения одного и того же плагина.

Оба XSD относятся к basic.xsd для некоторых общих классов. Если basic.xsd пришел бы из другого проекта, я мог бы решить эту проблему очень хорошо с помощью episodes предотвратить дублирование классов.

Но как я могу сослаться на текущий проект?

Мое первое выполнение плагина состоит в том, чтобы генерировать только классы из basic.xsd в свое собственное пространство имен Java. После этого исполнители A.xsd а также B.xsd должен знать о материале, созданном из basic.xsd,

Могу ли я как-то указать на сгенерированный эпизод basic.xsd?

Что-то вроде

<episodes><episodeFile>basicXSD.episode</episodeFile</episodes> было бы неплохо, но, насколько я вижу, я могу только добавить зависимости...:-(

2 ответа

Решение
<plugin>
  <groupId>org.jvnet.jaxb2.maven2</groupId>
  <artifactId>maven-jaxb2-plugin</artifactId>
  <version>0.8.1</version>
  <executions>
    <execution>
      <id>first</id>
      ...
      <configuration>
        <episodeFile>${some.path}/first.episode</episodeFile>
      </configuration>
    </execution>
    <execution>
      <id>second</id>
      ...
      <configuration>
        <args>
          <arg>-b</arg>
          <arg>${some.path}/first.episode</arg>
        </args>
      </configuration>
    </execution>
  </executions>
</plugin>

http://docs.oracle.com/javase/6/docs/technotes/tools/share/xjc.html http://weblogs.java.net/blog/kohsuke/archive/2006/09/separate_compil.html

Вы можете просто определить два исполнения одного и того же плагина следующим образом:

  <plugin>
    <artifactId>maven-whatever-plugin</artifactId>
    <version>1.0</version>
    <executions>
      <execution>
        <id>execution1</id>
        <phase>test</phase>
        <configuration>
         ....
        </configuration>
        <goals>
          <goal>TheGoalYouNeed</goal>
        </goals>
        <phase>process-sources</phase>
      </execution>
      <execution>
        <id>execution2</id>
        <configuration>
           ...
        </configuration>
        <goals>
          <goal>TheGoalYouNeed</goal>
        </goals>
        <phase>process-sources</phase>
      </execution>
    </executions>
  </plugin>
Другие вопросы по тегам