java - 当IntelliJ运行Maven项目时, "under the hood"会发生什么?

标签 java maven intellij-idea jar

你们都知道将依赖项放入 pom.xml 文件并运行“mvn clean install”的过程。当此命令运行时,依赖项的 jar 文件将下载到 .m2 存储库。

当我们使用 IntelliJ 和运行/调试配置窗口运行应用程序时,IntelliJ 如何知道在哪里查找依赖项的 jar 文件? IntelliJ 中的每个 GUI 操作实际上都替代了命令行操作。当我们单击“运行”按钮时,“在幕后”提交的命令行操作是什么。我相信类文件是从 java 源文件构建的,但我在“运行/调试配置”窗口中看不到任何将我们定向到 .m2 目录的线索。

最佳答案

您可以在“运行”(如果在“调试”模式下启动,则为“调试”)工具窗口的第一行中看到 IDE 使用的-classpath。此列表包含您在模块的 Dependencies tab 中看到的条目。 .

重要提示:除非您使用委托(delegate)运行/构建操作到 Maven(设置(macOS 上的首选项)| 构建、执行、部署 | 构建工具 | Maven | 运行器 | 将 IDE 构建/运行操作委托(delegate)给 Maven)或 IDE 中的 Gradle(设置(macOS 上的首选项)| 构建、执行、部署 | 构建工具 | Gradle | 构建并运行使用)。然后IDE实际上使用Maven(或Gradle)来运行应用程序。

关于java - 当IntelliJ运行Maven项目时, "under the hood"会发生什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61928705/

相关文章:

android - 自动插入从右到左的属性 Android Studio

intellij-idea - 在IntelliJ IDEA中将文件作为固定网格管理

java - 如何让 Android 项目和 std Java 项目一起玩?

java - 如何删除Spring Jpa和Intellij Idea中的数据源警告?

java - Maven 幻像管理的依赖项

java - 将 HSQLDB 与 SQL Maven 插件和 jOOQ 结合使用

sql - IntelliJ IDEA 13 SQL 语句高亮

java - cocos2d-x/firebase/admob加载插页式广告失败

java - 具有 Nimbus 外观和感觉的自定义组件和 Painter

java - Java 从 1.6 迁移到 1.7 后,由于 SocketChannel,我收到编译错误