如何使用不同gradle多项目的子项目

如何使用不同gradle多项目的子项目,gradle,Gradle,我试图创建一个helper类多项目,其中一个可以在不同项目中重用子项目。通过这种方式,我可以在将来构建的所有应用程序中重用电子邮件和解析XML等功能 我正试图找出最好的方法来做到这一点,但直到现在,我还没有能够找到这种情况下的最佳做法。我的项目设置如下所示: Helpers (root) -Emailer -XmlParser HelpersUser(Root) HelpersUser2(Root) -SomeSubProject -AnotherSubProject 现在我试图让

我试图创建一个helper类多项目,其中一个可以在不同项目中重用子项目。通过这种方式,我可以在将来构建的所有应用程序中重用电子邮件和解析XML等功能

我正试图找出最好的方法来做到这一点,但直到现在,我还没有能够找到这种情况下的最佳做法。我的项目设置如下所示:

Helpers (root)
 -Emailer
 -XmlParser

HelpersUser(Root)

HelpersUser2(Root)
 -SomeSubProject
 -AnotherSubProject
现在我试图让HelperUser1使用Emailer,HelperUser2使用XmlParser(也可能是Emailer)

这可能根本不是最佳实践,我最好只是构建helperjar并在我的HelperUser项目中使用它们。如果是的话,我也想知道。然而,我正在尝试实现一个设置,其中所有代码都是动态的,并且始终使用最新的代码(并由jenkins进行测试,以确保在分发之前没有任何代码中断)


我该怎么做呢?

您可以任意添加任何文件系统类文件或JAR作为任何项目的依赖项

因此,您的HelperUser项目将通过以下方式之一具有依赖关系:

dependencies {
    compile  files('Helpers/a.jar', 'Helpers/b.jar')
    compile  fileTree(dir: 'Helpers/build', include: '*.jar')
    compile  files("$Helpers/build/classes")
}
顺便说一句,为了解决问题的最后一部分,您可以使用
+
通配符暗示所有已声明回购协议中可用的最新版本

compile "junit:junit:4.+"

+
可能会成为彩票,并以意想不到的方式失败。

是否保证在您尝试构建HelperUser1和2时,Emailer和XmlParser已经构建好了?如果需要,可以!我正在寻找最好的方法来实现代码共享到其他项目中,基本上可以按照我想要的方式来做,我只是在寻找一个好的方法来做。