如何将 Idea 模块添加到 gradle 的依赖项

How to add Idea module to dependencies for gradle

我有一个名为 "Service" 的 gradle 模块和由 Idea 生成的名为 ProtocolLibrary 的模块。如何将库模块添加到我的主模块?

我尝试简单地将源目录添加到项目中:

main {
    java.srcDirs      = ['src/main/java', '../ProtocolLibrary/src']
    resources.srcDirs = ['src/main/resources']
}

但是没用:

Error:Can't register given path of type 'SOURCE' because it's out of content root.

如果您希望将两个单独的 gradle 项目组合在一起,那么您应该查看 gradle multi-project builds。您将需要创建一个根项目,它将包含您的两个模块作为子项目,在这种情况下,您可以简单地使用一个项目作为另一个项目的依赖项,例如:

//service project dependencies
dependencies {
    compile project(':ProtocolLibrary')
    ...
}

这样做之后,就没有理由将一个项目的资源包含到另一个项目中了。

第二种方法是使用 ProtocolLibrary 生成的工件。您可以在文件系统中指定 jar 的服务项目中建立依赖关系,或者您的 ProtocolLibrary 可以发布在您的 Maven 存储库中并用作通常的依赖关系。