如何执行两个Maven版本的插件?

时间:2018-07-12 13:52:41

标签: java maven swagger

如何执行两个Maven版本的插件?我尝试了一下,但是在3.0.0-SNAPSHOT中执行所有操作

我有一个问题,因为V2.x.x使用V2摇头文件,而v3.0.0使用V3摇头文件。

<plugin>
    <groupId>io.swagger</groupId>
    <artifactId>swagger-codegen-maven-plugin</artifactId>
    <version>2.3.1</version>
    <executions>
        <execution>
            <id>first in v2</id>
            ...
        </execution>
    </executions>
</plugin>
<plugin>
    <groupId>io.swagger</groupId>
    <artifactId>swagger-codegen-maven-plugin</artifactId>
    <version>3.0.0-SNAPSHOT</version>
    <executions>
        <execution>
            <id>second in v3</id>
            ...
        </execution>
    </executions>
</plugin>

2 个答案:

答案 0 :(得分:1)

以下

Can Maven 2 use two different versions of a build plugin in the same project?

无法做您想做的事。我看到的唯一机会是获取源代码并以其他名称编译插件。在您这样做之前,我真的会寻找另一种方式来实现您想要的目标。

答案 1 :(得分:0)

我使用父级/模块Maven功能。

MyProject父级

<modules>
    <module>foodle-importer-core</module>
    <module>foodle-api</module>
    <module>diffusion-api</module>
</modules>  

体系结构:

MyProject-parent
       ---------ModuleA-SourceGeneratorV2 (contain swagger-codegen-maven-plugin v2.3.1)
       ---------ModuleB-SourceGeneratorV3 (contain swagger-codegen-maven-plugin v3.0.0-SNAPSHOT)
       ---------ModuleC-MyProject (contain `ModuleA-SourceGeneratorV2` and `ModuleB-SourceGeneratorV3` dependencies)