我们有一个使用 Maven 作为构建系统的大型项目。我们决定在未来的项目中将使用 Gradle 作为更方便的工具,但我们也希望将 Gradle 用于我们的遗留项目。
我认为从 Maven 迁移到 Gradle 会非常痛苦,因为 POM 文件中有大量代码(我们有非常繁重的构建逻辑)。
我知道,Gradle 有自动迁移工具(gradle init),但它不能正常工作(我认为这个工具适用于没有特定构建逻辑的小型 Maven 项目)。
那么,这里有一个问题:我可以吗?将 Gradle 模块包含到 Maven 项目中小步迁移?也许有 Maven 插件,允许处理build.gradle
as pom.xml
file?
有一个gradle-maven-插件 https://github.com/LendingClub/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>
现在,当你运行maven时,gradle将被调用并执行
build.gradle 中定义的“doSomething”任务。
显然,您可以更改任务以满足您的需要。
在这个例子中,gradle调用将在maven期间发生
“编译”阶段,但这可以通过更改来轻松更改
元素值。
不确定如何将 Gradle 构建的工件包含到您的依赖项中,可能您需要将此工件发布到本地 Maven 存储库,以使其可用于您的 Maven 项目。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)