我想知道当我点击"构建项目时,Intellij IDEA将如何处理我的Maven项目"?
Intellij将如何使用Maven构建项目?
答案 0 :(得分:26)
当您执行make install
时,Intellij IDEA不会自动执行Build Project
。为此,请按以下步骤操作:
在Maven Projects
标签下(通常位于右侧),选择您希望Intellij在Build -> Make Project
之后运行的目标,然后右键单击并选择触发器(例如,在上面的快照中,触发器被选为' Execute After Make'。你可以选择你想要的任何东西。
执行此操作后,Build -> Make Project
也会运行mvn clean install
。
答案 1 :(得分:8)
IntelliJ的构建系统引用了 Maven生态系统的一些提示,但在一天结束时它是一个单独的构建系统。
在IntellIJ中,您有一个项目,包含许多模块。这些都是IntelliJ概念。
IntelliJ模块有责任了解它的依赖项和库是什么。这可以使用IntelliJ语义完成,或 IntelliJ可以允许其他一些构建系统声明依赖项和库。也就是说:IntelliJ模块可以基于 Maven pom.xml
或Gradle' build.gradle
。
点击"制作"在IntelliJ Java模块上:IntelliJ将检查模块要求的库,并解决模块的依赖关系,以确定其相关模块所需的库。
知道库之后:IntelliJ将使用类路径中的所有库调用Javac
或Eclipse编译器(无论您配置为Java编译器)。它会输出一个罐子,不是一个Maven的人工制品。
IntelliJ Make将不运行mvn compile
或类似内容(除非您根据@Ashutosh Jindal's answer明确配置它。
当您为如何构建项目提供权威定义时,为什么IntelliJ会使用自己独立的构建系统?我可以想象出各种各样的原因:
pom.xml
),而IntelliJ需要额外的语义和索引来提供其所有IDE智能。在编译过程中执行索引过程是有意义的,因为:如果你逐步进行编译,你可以逐步了解哪些索引也被弄脏了。