我有一个名为“服务”的gradle模块和一个名为ProtocolLibrary的模块,由Idea生成。如何将库模块添加到主模块?
我尝试简单地将源目录添加到项目中:
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.
答案 0 :(得分:1)
如果您希望将两个单独的gradle项目组合在一起,那么您应该查看gradle multi-project builds。您将需要创建一个根项目,它将包含您的模块作为子项目,在这种情况下,您可以简单地使用一个项目作为另一个项目的依赖项,如:
//service project dependencies
dependencies {
compile project(':ProtocolLibrary')
...
}
执行此操作后,没有理由将源项从一个项目包含到另一个项目中。
第二种方法是使用ProtocolLibrary生成的工件。您可以在Service项目中创建一个依赖项,在文件系统中指定jar,或者您的ProtocolLibrary可以在maven repo中发布,并作为通常的依赖项使用。