【问题标题】:Gradle project including a maven project as a subprojectGradle 项目包括一个 Maven 项目作为子项目
【发布时间】:2015-04-02 14:32:11
【问题描述】:

我有一个 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,配置‘编译’声明了对配置‘默认’的依赖,这在 uwantsoft-toolkit:testpom:unspecified 的模块描述符中未声明”

【问题讨论】:

    标签: maven intellij-idea gradle integration


    【解决方案1】:

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

    【讨论】:

    • 谢谢。事实上,当“test_maven”项目包含在 settings.gradle 文件中声明的“uwantsoft-toolkit”项目中时,我对 build.gradle 文件中的模块依赖关系感到困惑。我可以在“uwantsoft-toolkit”中调用“test_maven”类,是否意味着集成成功?为什么还需要添加外部模块complie,例如“compile group: 'com.uwantsoft', name: 'testpom', version: '1.0”
    【解决方案2】:

    我找到了解决方法,至少可以很好地开发 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 依赖项并将其安装到本地存储库。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-07-11
      • 1970-01-01
      • 1970-01-01
      • 2014-07-10
      • 2020-08-30
      • 2013-06-19
      • 1970-01-01
      相关资源
      最近更新 更多