2 плагина не работают одновременно в пом - PullRequest
0 голосов
/ 23 ноября 2018

Я добавил 2 плагина под тегом сборки, функциональность обоих плагинов заключается в создании некоторых классов в целевой папке.Всякий раз, когда я пытаюсь clean install приложение maven, по умолчанию цель очищается каждый раз, а затем устанавливает свежий контент в целевую папку, что является идеальным способом.

Но в следующем коде классы Java генерируются только тогда, когда, если есть только один плагин.Я должен вручную прокомментировать любой из плагинов, а затем мне нужно установить цель maven, а затем сгенерировать классы Java для одного плагина, то же самое я должен повторить для второго плагина.

 <build>
    <plugins>
        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>build-helper-maven-plugin</artifactId>
            <executions>
                <execution>
                    <id>add-source</id>
                    <phase>generate-sources</phase>
                    <goals>
                        <goal>add-source</goal>
                    </goals>
                    <configuration>
                        <sources>
                            <source>${project.build.directory}/generated-sources/somefolder</source>
                        </sources>
                    </configuration>
                </execution>
            </executions>
        </plugin>
        <plugin>
            <groupId>org.jvnet.jax-ws-commons</groupId>
            <artifactId>jaxws-maven-plugin</artifactId>
            <executions>
                <execution>
                    <id>somefolder</id>
                    <phase>generate-sources</phase>
                    <goals>
                        <goal>wsimport</goal>
                    </goals>
                </execution>
            </executions>
            <configuration>
                <wsdlDirectory>src/main/webapp/WEB-INF/wsdl</wsdlDirectory>
                <wsdlFiles>
                    <wsdlFile>myfirstwsdl.wsdl</wsdlFile>
                </wsdlFiles>
                <wsdlLocation>/WEB-INF/wsdl/*</wsdlLocation>
                <extension>true</extension>
                <target>2.2</target>
            </configuration>
        </plugin>
        <plugin>
            <groupId>org.jvnet.jax-ws-commons</groupId>
            <artifactId>jaxws-maven-plugin</artifactId>
            <executions>
                <execution>
                    <id>wsimport</id>
                    <phase>generate-sources</phase>
                    <goals>
                        <goal>wsimport</goal>
                    </goals>
                </execution>
            </executions>
            <configuration>
                <wsdlDirectory>src/main/webapp/WEB-INF/wsdl</wsdlDirectory>
                <wsdlFiles>
                    <wsdlFile>mysecondwsdl.wsdl</wsdlFile>
                </wsdlFiles>
                <wsdlLocation>/WEB-INF/wsdl/*</wsdlLocation>
                <extension>true</extension>
                <target>2.2</target>
            </configuration>
        </plugin>
    </plugins>
</build>

Мой вопрос: как я могу генерировать классы Java одновременно, не комментируя ни один из плагинов в целевой папке?

1 Ответ

0 голосов
/ 23 ноября 2018

Вы указываете один и тот же плагин дважды, это не сработает.Вам нужно объединить эти два вида (переместить <configuration> внутрь <execution>):

     <plugin>
        <groupId>org.jvnet.jax-ws-commons</groupId>
        <artifactId>jaxws-maven-plugin</artifactId>
        <executions>
            <execution>
             <id>somefolder</id>
             <phase>generate-sources</phase>
             <goals>
                <goal>wsimport</goal>
             </goals>
             <configuration>
               <wsdlDirectory>src/main/webapp/WEB-INF/wsdl</wsdlDirectory>
               <wsdlFiles>
                  <wsdlFile>myfirstwsdl.wsdl</wsdlFile>
                </wsdlFiles>
                <wsdlLocation>/WEB-INF/wsdl/*</wsdlLocation>
                <extension>true</extension>
                <target>2.2</target>
              </configuration>
            </execution>
            <execution>
                <id>wsimport</id>
                <phase>generate-sources</phase>
                <goals>
                    <goal>wsimport</goal>
                </goals>
                <configuration>
                  <wsdlDirectory>src/main/webapp/WEB-INF/wsdl</wsdlDirectory>
                  <wsdlFiles>
                    <wsdlFile>mysecondwsdl.wsdl</wsdlFile>
                  </wsdlFiles>
                  <wsdlLocation>/WEB-INF/wsdl/*</wsdlLocation>
                  <extension>true</extension>
                  <target>2.2</target>
              </configuration>
            </execution>
        </executions>
    </plugin>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...