Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java “发生了什么?”;“引擎盖下”;IntelliJ何时运行Maven项目?_Java_Maven_Intellij Idea_Jar - Fatal编程技术网

Java “发生了什么?”;“引擎盖下”;IntelliJ何时运行Maven项目?

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目录的线索。您可以在运行(或

大家都知道将依赖项放入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。此列表包含您在模块列表中看到的条目


重要提示:它是如此,除非您将委托运行/构建操作用于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。