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>