java - 2 个插件在 pom 中不能同时工作

标签 java maven soap wsdl pom.xml

我在构建标签下添加了2个插件,这两个插件的功能都是在目标文件夹下生成一些类。每当我尝试 clean install maven 应用程序时,默认情况下目标每次都会变得干净,然后将新内容安装到目标文件夹中,这是理想的方式。

但是在下面的代码中,只有在只有单个插件的情况下才会生成 Java 类。我必须手动注释任何一个插件,然后我需要安装 Maven goal,然后为单个插件生成 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 类?

最佳答案

您两次指定相同的插件,这是行不通的。您需要像这样合并两者(将 <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>

关于java - 2 个插件在 pom 中不能同时工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53449772/

相关文章:

java - 改造:将嵌套的 JSON 元素解析为列表

java - 如何在 IntelliJ IDEA 中调试 RESTful Web 服务的 JUnit 测试类?

java - 无法执行目标 org.apache.maven.plugins :maven-surefire-plugin:3. 0.0-M3:test

eclipse - 如何调试内置的 Maven 插件?

java - 使用 SonarQube 进行分析会导致 0 个文件被索引并且没有报告(Maven 项目)

java - Spring 4静态内容如css/js带来错误405请求方法 'GET'不支持

带有批处理的 Java BlockingQueue?

WCF 服务客户端 : How do I debug the response parsing

linux - 如何使用 perl SOAP::Lite 输出 soap 片段?

c# - 使用 LINQ to XML 解析 SOAP 消息