Плагин 1 Удаление Плагин 2 Классы (Maven) - PullRequest
1 голос
/ 02 апреля 2019

Я пытаюсь сгенерировать классы JAVA WSDL и XSD, но когда я запускаю mvn clean install, я вижу, что классы генерируются из моего первого плагина в журналах, но мой второй плагин просто удаляет их. Мой раздел сборки написан так:

<build>
<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>jaxws-maven-plugin</artifactId>
    <version>2.5</version>
    <executions>
        <execution>
            <id>generate-wsdl-to-java</id>
            <phase>generate-sources</phase>
            <goals>
                <goal>wsimport</goal>
            </goals>
            <configuration>
                .
                .
                .
                .
                .
            </configuration>
            <inherited>true</inherited>
        </execution>
    </executions>
</plugin>
<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>jaxb2-maven-plugin</artifactId>
    <version>2.4</version>
    <inherited>true</inherited>
    <executions>
        <execution>
            <id>generate-xsd-to-java</id>
            <phase>generate-sources</phase>
            <goals>
                <goal>xjc</goal>
            </goals>
            <configuration>
                .
                .
                .
                .
            </configuration>
            <inherited>true</inherited>
        </execution>
    </executions>
</plugin>

Когда я переворачиваю плагины, классы генерируют нормально, ничего не перезаписывая и не удаляя. Я мог бы сохранить это таким образом, если бы я хотел и двигаться дальше, но я хотел бы знать, что я делаю неправильно в этом случае. Я наполовину новичок в Maven, поэтому до сих пор разбираюсь во всех тонкостях. Должен ли я обернуть их вокруг "pluginManagement" или что-то в этом роде?

1 Ответ

0 голосов
/ 02 апреля 2019

это действительно зависит от того, как вы настроили выходные папки этих двух плагинов.

Значения по умолчанию: ${project.build.directory}/generated-sources/wsimport и ${project.build.directory}/generated-sources/jaxb, поэтому я не ожидал, что они НЕ будут перезаписаны.

в любом случае: если оба плагина предназначены для работы в одной и той же фазе, их порядок в POM определяет порядок их выполнения - даже pluginManagement не изменит это.так что в этом нет ничего плохого

...