【问题标题】:What is the difference between Intellij Run and Maven app axecutingIntellij Run 和 Maven 应用执行之间有什么区别
【发布时间】:2019-07-29 19:33:12
【问题描述】:

如果我在 intellij 中使用 maven,当我点击运行按钮时会发生什么? 是不是和maven一样:mvn compile+mvn exec:java?如果不是,有什么区别?

【问题讨论】:

    标签: maven intellij-idea


    【解决方案1】:

    根据 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)。

    【讨论】:

      猜你喜欢
      • 2013-08-02
      • 2015-07-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多