我正在使用IntelliJ Idea 14.1.4开发Java应用程序。 如果它只是Java应用程序,我就会知道如何在Idea中构建项目: 一个Java项目,包含几个模块:一个用于应用程序的每个部分(JAR)。最多4-5个JAR。
模块之间的依赖关系也是已知的:协议不依赖于任何内容,其他一切依赖于基础设施,依此类推。 接下来,我想使用Gradle脚本来管理项目。所以我的问题是在Idea中构建代码的最佳实践是什么?
我应该为每个JAR创建一个Gradle项目和Gradle模块吗?
我应该为每个JAR创建一个Java项目(或者可能是空项目)和Gradle模块吗?
我应该创建一个Gradle项目,每个模块都是Gradle的子项目吗?也许最好有一个空项目和几个Gradle模块,因为并非所有的JAR都是紧密耦合的?
由于我之前从未使用过Gradle,因此在结合Gradle和Idea时,我将非常感谢最佳实践的指导。
谢谢,
盖
答案 0 :(得分:2)
只要有可能,我会将代码保存在一个源存储库中。在根上,我会有一个“空”项目没有输出任何东西。您的所有jar项目都是子项目(以Gradle术语表示)。您可以通过根项目中的settings.xml
文件包含它们。
每个子项目都有自己的build.gradle
文件。在这些文件中,您可以轻松定义子项目之间的依赖关系,例如:
dependencies {
compile project(':subProject3')
}
为方便起见,我经常创建一个特殊的export
任务,将所有人工制品放在根级别的一个export/
文件夹中,这样就不需要经过所有这些子文件夹来获取你的东西。
task export(type: Copy) {
from project(':subProject1').jar
from project(':subProject2').jar
from project(':subProject3').war
into 'export/'
}
IntelliJ Ultimate 14可以正常使用这种方法。您只需点击Make
即可编译所有内容。如果您愿意,您可能还希望将项目设置配置为在制作期间运行gradle jar
或gradle export
。