能够在IntelliJ中将Gradle项目转换为Maven并保留两个构建文件

par*_*nza 8 intellij-idea gradle maven

我一直很高兴使用IntelliJ + Gradle,但最近我被要求转移到Maven作为构建工具.有没有一种简单的方法可以在IntelliJ中将Gradle项目转换为Maven,或者保留两个配置文件(build.gradle和pom.xml)?根据Gradle build.gradle到Maven pom.xml,我使用了Gradle Maven的插件并在build/poms中生成了pom.xml文件,但是我想将build.gradle和pom.xml保持在同一级别使用任何首选项构建项目的能力.那可能吗?

谢谢,

wax*_*cal 10

我无法为您提供一个解决方案,可以让您保持所有Gradle项目设置不变,但如果您发现以下内容有用,请相应标记.

要在两个构建工具之间移动,您可以执行以下操作:

如果您有要转换的Maven项目,则需要进入项目文件夹,并在cmd行上执行"gradle init"(显然确保Gradle在您的路径上).关闭并重新打开项目,系统将提示您在项目上启用Gradle.

对于您的确切问题,关于将Gradle转换回Maven.您只需删除.idea文件夹,保留所有Gradle脚本即可.然后在Intellij内部,选择打开项目.导航到您的pom.xml并选择它.接下来通过以下屏幕.当Intellij提示您将项目作为Gradle启用时,请拒绝.结果是新项目仍然包含您的Gradle脚本,但现在使用Maven构建.你需要有一个maven可以使用的有效pom.xml.


Hai*_*man 6

对我有用的:

  1. 在我的 build.gradle 顶部添加maven-publish插件
plugins {
    id 'maven-publish'
}
Run Code Online (Sandbox Code Playgroud)
  1. 添加带有基本 Maven 信息的发布任务
publishing {
    publications {
        maven(MavenPublication) {
            groupId = 'com.my.groupid'
            artifactId = 'my-artifact'
            version = '1.0-SNAPSHOT'
            from components.java
        }
    }
}
Run Code Online (Sandbox Code Playgroud)
  1. 跑步
./gradlew publishToMavenLocal
Run Code Online (Sandbox Code Playgroud)
  1. 转到 build/publications/maven/pom-default.xml 并将其复制为 pom.xml
  2. 上面只是创建了一个带有依赖项的简单 Maven pom,需要进行一些调整才能有用

注意:我在一个非常简单的项目上尝试过这个。