Java “发生了什么?”;“引擎盖下”;IntelliJ何时运行Maven项目?
大家都知道将依赖项放入pom.xml文件并运行“mvn clean install”的过程。当该命令运行时,依赖项的jar文件将下载到.m2存储库中 当我们使用IntelliJ和run/Debug配置窗口运行应用程序时,IntelliJ如何知道在哪里查找依赖项的jar文件? IntelliJ中的每个GUI操作实际上都会替换命令行操作。单击“运行”按钮时,“幕后”提交的命令行操作是什么。我相信类文件是从java源文件构建的,但我在运行/调试配置窗口中看不到任何指向.m2目录的线索。您可以在运行(或调试模式下启动时的调试)工具窗口的第一行中看到-classpath IDE使用。此列表包含您在模块列表中看到的条目 重要提示:它是如此,除非您将委托运行/构建操作用于Maven(设置(macOS上的首选项)|构建、执行、部署|构建工具| Maven | Runner |或Gradle(设置(macOS上的首选项))或|构建、执行、部署|构建工具| Gradle |在IDE中使用构建和运行。然后IDE实际上使用Maven(或Gradle)来运行应用程序。您可以在run(或Debug,如果在调试模式下启动)工具窗口的第一行中看到IDE使用的-classpath。此列表包含您在模块列表中看到的条目Java “发生了什么?”;“引擎盖下”;IntelliJ何时运行Maven项目?,java,maven,intellij-idea,jar,Java,Maven,Intellij Idea,Jar,大家都知道将依赖项放入pom.xml文件并运行“mvn clean install”的过程。当该命令运行时,依赖项的jar文件将下载到.m2存储库中 当我们使用IntelliJ和run/Debug配置窗口运行应用程序时,IntelliJ如何知道在哪里查找依赖项的jar文件? IntelliJ中的每个GUI操作实际上都会替换命令行操作。单击“运行”按钮时,“幕后”提交的命令行操作是什么。我相信类文件是从java源文件构建的,但我在运行/调试配置窗口中看不到任何指向.m2目录的线索。您可以在运行(或
重要提示:它是如此,除非您将委托运行/构建操作用于Maven(设置(macOS上的首选项)|构建、执行、部署|构建工具| Maven | Runner |或Gradle(设置(macOS上的首选项))或|构建、执行、部署|构建工具| Gradle |在IDE中使用构建和运行。然后IDE实际上使用Maven(或Gradle)来运行应用程序。您的问题的答案完全取决于您在IntelliJ中打开的项目类型。Maven项目将在引擎盖下使用捆绑的Maven引擎,而Gradle项目将使用Gradle。对于命令行程序,IntelliJ将扫描类路径以查找依赖项。比方说,我想关闭IntelliJ并从终端运行我的项目,这是否意味着我必须手动添加-cp标志和add.m2文件夹,以便java知道在哪里搜索我的依赖项?也许……如果你没有使用Maven/Gradle/etc,那么是的,如果您使用的是纯
javac
和java
,那么您需要列出所有JAR。您问题的答案完全取决于您在IntelliJ中打开的项目类型。Maven项目将在引擎盖下使用捆绑的Maven引擎,而Gradle项目将使用Gradle。对于命令行程序,IntelliJ将扫描类路径以查找依赖项。比方说,我想关闭IntelliJ并从终端运行我的项目,这是否意味着我必须手动添加-cp标志和add.m2文件夹,以便java知道在哪里搜索我的依赖项?也许……如果你没有使用Maven/Gradle/etc,那么是的,如果您使用纯javac
和java
,则需要列出所有jar。