您的描述听起来非常适合 Gradle 的多项目支持以及它的 eclipse 和应用程序插件。这是我将如何处理它的一个简单示例。
您的项目可能在同一个 Eclipse 工作区中,但不一定在同一个文件夹下,因此请记住以下目录结构假设您可以自由移动它们。
|-- component1
|-- component2
`-- myRunnableApp
第一步是创建您的顶级 build.gradle 文件和 settings.gradle。
|-- build.gradle
|-- settings.gradle
|-- component1
|-- component2
`-- myRunnableApp
您的 settings.gradle 将指示 gradle 将子目录视为子项目。
include ':component1', ':component2', ':myRunnableApp'
您的 build.gradle 将包含所有子项目通用的设置,在这种特殊情况下,我们要应用 java 和 eclipse 插件:
subprojects {
apply plugin: 'eclipse'
apply plugin: 'java'
repositories {
mavenCentral()
}
}
这应该足以让您通过发出gradle eclipse
. 接下来,您将要声明项目之间的依赖关系:
组件1/build.gradle
dependencies {
// declare your 3rd party jar dependencies as needed
compile 'group:artifact:version'
}
现在您可以声明项目之间的依赖关系 - 这将在您生成它们时反映在您的 eclipse 项目文件中。
组件2/build.gradle
dependencies {
compile project(':component1')
}
最后,您需要将应用程序插件应用到您的可运行项目中。它将生成您的 jar 文件以及用于 unix 和 windows 的包装器 sh/bat 文件。
myRunnableApp/build.gradle
apply plugin: 'application'
mainClassName = 'my.custom.app.Main'
dependencies {
// component 1 is a transitive dependency of component 2
compile project(':component2')
}
就是这样!我希望这应该是推出您自己的构建的一个很好的起点。查看多项目构建、java 插件、应用程序插件和依赖管理的 gradle 文档。
希望有帮助!