构建项目是IntelliJ自带的构建机制,它简单地编译项目中所有修改过的和依赖的文件。
然而,这只是一个“普通的”构建。它不会像创建构件、部署到存储库、从wsdl生成代码等那样做花哨的事情。这就是我们使用构建自动化工具的原因,而且有两个(maven
和gradle
)被广泛使用。
Maven和Gradle允许开发人员设置自定义(更复杂)的构建配置。
Maven的pom.xml
定义了生命周期目标,而Gradle的build.gradle
定义了任务。
通过插件架构,Maven / Gradle可以在构建过程中完成几乎任何操作。虽然Maven / Gradle的“run”任务可以类似于IntelliJ的“Build Project”,但这并不是同一回事——在这种情况下,构建由构建工具(Maven或Gradle)进行仪表化,并且可以进行不同的配置,并且构建过程可以更加复杂。
此外,Maven具有构建“配置文件”,可以以不同的方式构建项目。
在我的项目中,我进行了本地测试,使用了两种构建方法:一种是使用IntelliJ IDEA的“构建项目”命令,另一种是使用Gradle自己的构建命令。
然后我检查了我项目中 .build
目录的内容,发现前者(IntelliJ IDEA的构建)产生的文件比后者(Gradle)少。我认为Gradle的构建系统比IntelliJ IDEA更强大,这就是为什么我更喜欢在我的项目中使用Gradle。
在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任务。
另请参阅配置构建和运行操作以获取更多详细信息。
javac
。 - Rogue