我一直很高兴使用IntelliJ + Gradle,但我最近被要求转移到Maven作为构建工具。有没有一种简单的方法可以在IntelliJ中将Gradle项目转换为Maven,或者保留两个配置文件(build.gradle和pom.xml)?根据{{3}},我使用了Gradle Maven的插件并在build / poms中生成了pom.xml文件,但是我希望将build.gradle和pom.xml保持在同一级别,从而提供构建的能力使用任何一个首选的项目。这可能吗?
谢谢,
答案 0 :(得分:9)
我无法为您提供一个解决方案,可让您保持所有Gradle项目设置不变,但如果您发现以下内容有用,请相应地进行标记。
要在两个构建工具之间移动,您可以执行以下操作:
如果您有要转换的Maven项目,则需要进入项目文件夹,并在cmd行上执行“gradle init”(显然确保Gradle在您的路径上)。关闭并重新打开项目,系统将提示您在项目中启用Gradle。
关于将Gradle转换回Maven的确切问题。您只需删除.idea文件夹,保留所有Gradle脚本即可。然后在Intellij内部,选择打开项目。导航到您的pom.xml并选择它。接下来通过以下屏幕。当Intellij提示您将项目作为Gradle启用时,请拒绝。结果是新项目仍然包含您的Gradle脚本,但现在使用Maven构建。你需要有一个maven可以使用的有效pom.xml。
答案 1 :(得分:2)
要创建 pom,让我们将 Maven 插件添加到您的 build.gradle 文件中:
apply plugin: 'maven'
插件使用 Gradle 文件中存在的组和版本,并将它们添加到 POM 文件中。此外,它会自动从目录名称中获取 artifactId。
插件也会自动添加安装任务。所以要转换,让我们运行以下命令:
gradle install
答案 2 :(得分:1)
什么对我有用:
plugins {
id 'maven-publish'
}
publishing {
publications {
maven(MavenPublication) {
groupId = 'com.my.groupid'
artifactId = 'my-artifact'
version = '1.0-SNAPSHOT'
from components.java
}
}
}
./gradlew publishToMavenLocal
注意:我在一个非常简单的项目中尝试了这个。