Maven多模块项目如何包含gradle子项目?

Rop*_*Rop 6 gradle pom.xml maven build.gradle

我们有一个 Maven 多模块项目,我们希望逐步迁移到 gradle 项目。

对于初学者来说,我只想将几个子项目迁移到 gradle,但将它们作为子项目保留到父 maven-project 构建中。

有支持/推荐的方法吗?

指向插件的指针,或任何如何最好地做到这一点的建议表示赞赏。

Sta*_*lav 4

不太确定是否有一个简单的解决方案可以完成这样的任务。但是您可以查看gradle-maven-plugin,它允许在 Maven 中运行 Gradle 任务。从插件描述来看:

要使用该插件,只需声明该插件并将其绑定到您选择的 Maven 生命周期阶段:

<plugin>
    <groupId>org.fortasoft</groupId>
    <artifactId>gradle-maven-plugin</artifactId>
    <version>1.0.8</version>
    <configuration>
        <tasks>
            <!-- this would effectively call "gradle doSomething" -->
            <task>doSomething</task>
        </tasks>
    </configuration>
    <executions>
        <execution>
            <!-- You can bind this to any phase you like -->
            <phase>compile</phase>
            <goals>
                <!-- goal must be "invoke" -->
                <goal>invoke</goal>
            </goals>
        </execution>
    </executions>
</plugin>
Run Code Online (Sandbox Code Playgroud)

现在,当您运行maven时,将调用gradle并执行build.gradle中定义的“doSomething”任务。

显然,您可以更改任务以满足您的需要。

在此示例中,gradle 调用将在 maven“编译”阶段发生,但这可以通过更改元素值轻松更改。

遗憾的是,无法说明如何共享 Gradle 模块工件而不将其发布到某个本地存储库。