【发布时间】:2019-07-29 19:33:12
【问题描述】:
如果我在 intellij 中使用 maven,当我点击运行按钮时会发生什么?
是不是和maven一样:mvn compile+mvn exec:java?如果不是,有什么区别?
【问题讨论】:
标签: maven intellij-idea
如果我在 intellij 中使用 maven,当我点击运行按钮时会发生什么?
是不是和maven一样:mvn compile+mvn exec:java?如果不是,有什么区别?
【问题讨论】:
标签: maven intellij-idea
根据 Maven 项目配置,结果可能会有所不同。查看 this answer 了解 IntelliJ IDEA Maven 集成如何工作的详细信息。
IntelliJ IDEA Run 正在使用特殊代理,它提供对线程转储和优雅退出的支持,这对于分析应用程序锁定和测试关闭挂钩非常有用。代理还可以缩短超过操作系统限制的过长命令行,否则在运行时可能会导致问题。
IntelliJ IDEA 运行/调试配置中使用的选项可能与您为 mvn exec:java 定义的选项不同。
编译的执行方式也不同。 IntelliJ IDEA 编译器是增量的,可以并行构建多个模块并且通常更快。它没有使用 javac,而是通过编译器 API 工作。
在大多数情况下,您的应用将完全一样地工作,但您应该记住,编译和执行的执行方式不同。
如果您有任何问题并希望 IntelliJ IDEA 构建和运行与命令行 Maven 完全相同,现在有 an option for that(将 IDE 构建/运行操作委托给 Maven)。
【讨论】: