提问者:小点点

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


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

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

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


共2个答案

匿名用户

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

匿名用户

我找到了解决方法,这至少对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项目的运行配置并在启动操作之前添加“运行maven目标”。这应该指向maven项目工作目录,目标应该是install

这样,您可以在同一个Idea项目中编辑gradle和maven项目源,并且每次运行gradle应用程序时都会重建maven依赖项并将其安装到本地存储库中。