Java 当使用Gradle编译项目时IntelliJ到底在做什么?

Java 当使用Gradle编译项目时IntelliJ到底在做什么?,java,gradle,intellij-idea,Java,Gradle,Intellij Idea,IntelliJ IDEA 2016.3增加了将构建/运行委托给Gradle的功能 很明显,当代理选项处于启用状态时,Gradle正在做所有事情 我的问题是,当此选项关闭时IntelliJ到底在做什么 我这样问是因为我的Gradle文件中有自定义代码,而在IntelliJ中构建时似乎没有执行这些代码。当我运行gradlew build时,一切正常。IntelliJ有自己的构建系统,称为JPS,它使用IntelliJ IDEA项目和.iml文件作为项目模型。当您使用IntelliJ IDEA的默认

IntelliJ IDEA 2016.3增加了将构建/运行委托给Gradle的功能

很明显,当代理选项处于启用状态时,Gradle正在做所有事情

我的问题是,当此选项关闭时IntelliJ到底在做什么


我这样问是因为我的Gradle文件中有自定义代码,而在IntelliJ中构建时似乎没有执行这些代码。当我运行
gradlew build
时,一切正常。

IntelliJ有自己的构建系统,称为JPS,它使用IntelliJ IDEA项目和.iml文件作为项目模型。当您使用IntelliJ IDEA的默认构建系统构建项目时,它不会在Maven或Gradle文件中执行任何代码;它使用自己的逻辑,只能通过向JPS编写插件来扩展。

谢谢,这就解释了为什么没有执行自定义Gradle代码。有没有办法强制使用Gradle而不使用JPS来构建项目?委托选项正是这样做的。不幸的是,它目前是一个应用程序级设置;无法强制特定项目使用委托。有关相关问题,请参阅。