关于缺少包或 class 的 Maven 错误消息

Maven error message regarding missing package or class

阅读 mvn.bat 文件后,我将 M2_HOME 设置为 C:\apache-maven-3.2.5\apache-maven\src。看来我现在可以 运行 mvn 命令而没有 M2_HOME 错误消息,但得到以下信息:

Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation.  All rights reserved.

C:\Windows\SysWOW64>mvn
Error: Could not find or load main class org.codehaus.plexus.classworlds.launcher.Launcher
C:\Windows\SysWOW64>

是的,我承认我需要 运行 在我有 POM.xml 文件的地方获取依赖项等信息。此外,我在 SO 上阅读了关于此错误消息的类似帖子,但它似乎是 hack and frig job,而不是一个合乎逻辑的解决方案。

我知道如果我 运行 mvn 我没有任何 POM 或任何东西,我会收到一条错误消息,但错误消息肯定不是上面的。

我已经下载了 maven 作为压缩包并将其解压到我的 C:\ 驱动器上。我的 Maven 文件夹如下所示:

C:\apache-maven-3.2.5\apache-maven\(inside there is src\bin)
C:\apache-maven-3.2.5\(Other maven folders and pom.xml)

不知道我的文件夹设置是否正确。

如有任何建议,我们将不胜感激。

更新

我刚刚意识到我下载的是源代码分发版而不是二进制文件。我下载了正确的发行版并且运行良好(使用 %M2% 和 %M2_HOME% envvar 定义)。愚蠢的事情...

您不应该将 M2_HOME 指向 C:\apache-maven-3.2.5\apache-maven\src,而是指向 maven 的实际安装目录(通常是 C:\apache-maven-3.2.5)。你用的是maven源码文件夹。

事实上你甚至不需要maven源代码来使用maven。只需下载一个二进制发行版,指向 M2_HOME 并在您的 shell PATH

中包含 M2_HOME\bin