Gradle项目包括maven项目作为子项目

时间:2015-02-03 11:49:04

标签: maven intellij-idea gradle integration

我有一个gradle项目(uwantsoft-toolkit)和一个maven项目(test_pom)。 我想将maven项目作为子项目包含在gradle项目中,是否可能?

我试过这个通常包括一个gradle项目: 在gradle settings.gradle文件中添加:    rootProject.name ='uwantsoft-toolkit'    includeFlat'test_pom' 当我尝试在build.gradle文件中添加以下代码时:    依赖{       编译项目(路径:“:test_maven”,配置:“默认”)    }

发生错误:    “错误:模块版本com.uwantsoft:uwantsoft-toolkit:1.0,配置'compile'声明对配置'default'的依赖,它未在uwantsoft-toolkit的模块描述符中声明:testpom:unspecified”

2 个答案:

答案 0 :(得分:1)

Gradle项目只能声明另一个Gradle项目的项目依赖项。如果您要将Maven项目声明为依赖项,则必须将其声明为外部模块依赖项。有关Gradle支持的依赖项类型的详细信息,请参阅Gradle documentation

答案 1 :(得分:0)

我找到了解决方法,至少可以用于开发gradle和maven项目。

我必须让它工作的设置:

  1. 在IntelliJ Idea
  2. 中打开一个gradle项目
  3. 为其build.gradle添加依赖项,例如compile('com.test:cool-lib:0.0.1')
  4. 将根据(com.test:cool-lib:0.0.1)maven项目添加到maven集成面板,它将作为模块添加(与项目视图中的gradle项目相同)
  5. 编辑gradle项目的运行配置,并在启动操作“Run maven goal”之前添加。这应该指向maven项目工作目录,目标应该是install
  6. 这样,您可以在同一个Idea项目中编辑gradle和maven项目源,并且每次运行gradle应用程序时都会重建maven依赖项并将其安装到本地存储库。