在IntelliJ IDEA中,“IntelliJ”、“Maven”和“Gradle”构建系统的区别是什么?

18
什么是IntelliJ,Maven和Gradle构建系统在IntelliJ IDEA中的区别? IntelliJ IDEA有自己的构建系统吗? IntelliJ IDEA - New Project 此外,在IntelliJ和Gradle的bootRun中,“run”的区别是什么?

它具有对Gradle的集成支持,这是一种完全不同的构建系统,与IDE分开。 IDE将使用您选择的任何构建系统,但默认为 javac - Rogue
3个回答

21

构建项目是IntelliJ自带的构建机制,它简单地编译项目中所有修改过的和依赖的文件。

然而,这只是一个“普通的”构建。它不会像创建构件、部署到存储库、从wsdl生成代码等那样做花哨的事情。这就是我们使用构建自动化工具的原因,而且有两个(mavengradle)被广泛使用。

Maven和Gradle允许开发人员设置自定义(更复杂)的构建配置。

Maven的pom.xml定义了生命周期目标,而Gradle的build.gradle定义了任务。

通过插件架构,Maven / Gradle可以在构建过程中完成几乎任何操作。虽然Maven / Gradle的“run”任务可以类似于IntelliJ的“Build Project”,但这并不是同一回事——在这种情况下,构建由构建工具(Maven或Gradle)进行仪表化,并且可以进行不同的配置,并且构建过程可以更加复杂。

此外,Maven具有构建“配置文件”,可以以不同的方式构建项目。


4

在我的项目中,我进行了本地测试,使用了两种构建方法:一种是使用IntelliJ IDEA的“构建项目”命令,另一种是使用Gradle自己的构建命令。

然后我检查了我项目中 .build 目录的内容,发现前者(IntelliJ IDEA的构建)产生的文件比后者(Gradle)少。我认为Gradle的构建系统比IntelliJ IDEA更强大,这就是为什么我更喜欢在我的项目中使用Gradle。


3

在IntelliJ和gradle build中构建项目有什么区别?

IntelliJ build使用IDE自己的jps项目模型构建程序编译基于Java的项目,包括增量构建支持。

而Gradle build实际上使用Gradle来构建项目(类似于Gradle build任务)。

另外,IntelliJ和gradle bootRun之间有什么区别?

基本上与上面相同:IntelliJ runner - 使用IDE的构建程序结果和IDE自己的Run/Debug Configuration启动应用程序和测试。而Gradle runner - IDE将其委托给相应的(bootRun)Gradle任务。

另请参阅配置构建和运行操作以获取更多详细信息。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接