【问题标题】:What is difference between build project in IntelliJ and gradle build?IntelliJ 中的构建项目和 gradle 构建有什么区别?
【发布时间】:2019-12-19 14:36:06
【问题描述】:

IntelliJ 中的构建项目和 gradle 构建有什么区别? IntelliJ IDEA 有自己的构建系统吗?

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

【问题讨论】:

  • 它集成了对 gradle 的支持,这是一个与 IDE 完全不同的构建系统。 IDE 将使用您选择的任何构建系统,但默认为 javac

标签: java spring gradle intellij-idea


【解决方案1】:

构建项目是 IntelliJ 自己的内置构建机制,它只是编译项目中所有修改和依赖的文件。

但是,这是一个“普通的香草”版本。它不会做一些花哨的事情,比如创建工件、部署到存储库、从 wsdl 生成代码等。这就是我们使用构建自动化工具的目的,其中有 2 个(mavengradle)在广泛使用中。

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

maven pom.xml 定义生命周期目标,gradle build.gradle 定义任务。

通过插件架构,maven / gradle 几乎可以在构建过程中完成任何事情。虽然 maven / gradle "run" 任务可以与 IntelliJ "Build Project" 类似地运行,但它不是一回事 - 在这种情况下,构建由构建工具(maven 或 gradle)检测,并且可以进行不同的配置,并成为其中的一部分更复杂的构建过程。

【讨论】:

    【解决方案2】:

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

    IntelliJ build 使用 IDE 自己的 jps project modelbuilder 来编译基于 java 的项目。包括增量构建支持。

    使用 Gradle build 它实际上使用 Gradle 来构建项目(想想 Gradle build 任务)。

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

    与上述基本相同:IntelliJ runner - 使用 IDE 构建器的构建结果和 IDE 自己的运行/调试配置来启动应用程序 ant 测试。使用 Gradle 运行器 - IDE 将此委托给相应的 (bootRun) Gradle 任务。

    有关更多详细信息,另请参阅Configure the build and run actions

    【讨论】:

      【解决方案3】:

      我在我的项目中进行了本地测试,使用了两个构建:一个使用 IntelliJ IDEA 的“构建项目”,第二个使用 Gradle 自己的构建命令。

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

      【讨论】:

        猜你喜欢
        • 2017-07-30
        • 2020-12-30
        • 1970-01-01
        • 2012-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多