插件1删除插件2类(Maven)

时间:2019-04-02 09:51:32

标签: java maven maven-3 maven-plugin

我试图生成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 :(得分:0)

这实际上取决于如何配置这两个插件的输出文件夹。

默认值为onclickecho "<tr> <td>$dateChange</td> <td>$itemSubject</td> <td id='myDiv'>$itemSummary<br /> <a class='test' href='#' id=$itemID> View Details </a> </td> <td>$itemState</td> </tr>"; ,所以我不希望它们不会被覆盖。

无论如何:如果两个插件都打算在同一阶段运行,那么它们在POM中的顺序将定义它们的执行顺序-甚至${project.build.directory}/generated-sources/wsimport都不会改变它。所以这没什么问题