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

Gradle project including a maven project as a subproject

我有一个gradle项目(uwantsoft-toolkit)和一个maven项目(test_pom)。 我想将 maven 项目作为子项目包含到 gradle 项目中,可以吗?

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

发生错误: "Error:Module version com.uwantsoft:uwantsoft-toolkit:1.0, configuration 'compile' declares a dependency on configuration 'default' which is not declared in the module descriptor for uwantsoft-toolkit:testpom:unspecified"

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

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

我必须进行的设置:

  1. 在 IntelliJ Idea 中打开一个 gradle 项目
  2. 为其 build.gradle 添加依赖项,比如 compile('com.test:cool-lib:0.0.1')
  3. 根据(com.test:cool-lib:0.0.1)maven项目添加到maven集成面板,它将作为一个模块添加(在项目视图中与gradle项目同级)
  4. 编辑 运行 项目的配置 gradle 并在启动前添加操作 "Run maven goal"。这应该指向 Maven 项目工作目录,目标应该是 install

这样,您可以在同一 Idea 项目中同时编辑 gradle 和 maven 项目源,并且每次您 运行 您的 gradle申请。