设置Maven的问题[重复]

Posted

技术标签:

【中文标题】设置Maven的问题[重复]【英文标题】:Problems setting up Maven [duplicate] 【发布时间】:2011-09-12 10:39:22 【问题描述】:

我在安装 Maven 时遇到困难。

我已经按照这个设置了所有的环境变量:http://maven.apache.org/download.html

虽然我使用的是 Windows 7,但当我尝试运行命令 mvn --version 时,我得到了 mvn is not recognized as an internal or external command 等。

当我从src\bin 中运行它时,我得到了错误:

Exception in thread "main" java.lang.ClassNotFoundException: org.codehaus.plexus.classworlds.launcher.Launcher 
at java.net.URLClassLoader$1.run<URLClassLoader.java:202>
at java.security.AccessController.doPrivleged(Native Method) 
...etc

然后:

Could not find the main class: org.codehaus.plexus.classworlds.launcher.Launcher.

【问题讨论】:

第一个问题 (...not recognized as an internal or external command...) 是 Windows 中的 PATH 问题。第二个问题 (...ClassNotFoundException...) 是 Java 中的 Classpath 问题。投票结束第一个问题作为重复。解决路径问题后,再来解决其他问题。 看起来你已经安装了源文件。尝试从那里安装 Binary Files。 link 然后按照那里的描述设置环境变量。 link 【参考方案1】:

检查您是否没有 M2_HOME 环境变量。

【讨论】:

类似问题:我在 OS X 上使用 MacPorts(“port install maven3”)从 maven 2 升级到 maven 3 - 我遇到了同样的错误。删除 M2_HOME 环境变量并将其从路径中删除(在我的 ~/.bash_profile 中设置)解决了我的问题。 谢谢,我可能会添加删除 M2_HOME 变量,您需要在终端中执行:unset M2_HOME Mac 上基于 brew 的安装:检查以下目录 /usr/local/bin/ 下 mvn 的符号链接,并使用以下 export export M2_HOME="/usr/local/ 添加正确的 maven 版本地窖/maven/3.3.3/libexec" 导出 PATH=$PATH:$M2_HOME/bin【参考方案2】:

我以同样的问题结束了这个问题,但是,我犯了一个基本错误,下载了 apache-maven-..*-src.zip 而不是 apache-maven- ..*-bin.zip

一旦我意识到这个错误,我一改正它就一帆风顺了。我想下载页面上的说明应该绰绰有余

【讨论】:

三年后,我做了同样的事情。感谢您的提示。【参考方案3】:

安装和使用 maven 所需要做的一切:

1) 下载 maven 3. ZIP 应该没问题。安装在已知的地方;我使用 c:\tools\ 作为父目录,但您的里程可能会有所不同。

2) 将您的 PATH 设置为指向安装目录中的 bin 目录。如果 Maven 在 c:\tools\maven-3.0.3 中(因为它在我的系统上),您需要将 c:\tools\maven-3.0.3\bin 添加到 PATH:

set PATH=%PATH%;c:\tools\maven-3.0.3

您可能还想设置 MVN_HOME:

set MVN_HOME=c:\tools\maven-3.0.3

3) 启动一个新的命令外壳 (cmd.exe)。 mvn 应该可以工作;如果没有,您已经跳过了这里的某些内容,或者您​​的配置中有严重错误。

【讨论】:

等等……不应该是c:\tools\maven-3.0.3\bin MVN_HOME 是正确的,但路径应该是set PATH=%PATH%;%MVN_HOME%\bin【参考方案4】:

消隐 M2_HOME 在 Ubuntu 上对我有用。可以只测试:'export M2_HOME='

【讨论】:

奇怪,但这有效。谢谢【参考方案5】:

您的第一个问题是因为您的 PATH 中没有 maven。 第二个问题是我遇到的。我的计算机上同时安装了 Maven 2 和 3,即使我从 PATH 中删除了 Maven 2 链接,它仍然会干扰我的新 Maven。

您需要删除或重命名系统变量 M2_HOME。 1.右击我的电脑->属性 2.高级系统设置 3.环境变量 4.重命名或删除M2_HOME

【讨论】:

【参考方案6】:

我这样设置M2_HOME

export M2_HOME="~/app/apache-maven-3.1.1"

看到了同样的异常:

Exception in thread "main" java.lang.ClassNotFoundException: org.codehaus.plexus.classworlds.launcher.Launcher`. 

我改为使用绝对路径,它工作了:

export M2_HOME="Users/myaccount/app/apache-maven-3.1.1"

就我而言,M2_HOME 环境变量不是问题。我认为 java 和/或 mvn 启动脚本不会扩展类路径 cmd 行参数中的波浪号。

【讨论】:

【参考方案7】:

这是很久以前的问题,但最近我遇到了这个问题。就我而言,这是因为我从几个月前的先前安装中设置了 M2_HOME。我只是取消设置变量,然后就可以了。

【讨论】:

【参考方案8】:

我遇到了同样的错误

在我的情况下,配置会产生错误

export M2_HOME="/home/ashoka/apache-maven-3.0.4/bin/"

PATH=$M2_HOME/bin:$PATH

工作配置

export M2_HOME="/home/ashoka/apache-maven-3.0.4/"

PATH=$M2_HOME/bin:$PATH

阿肖克库马拉

【讨论】:

【参考方案9】:

“mvn 不被识别为内部或外部命令等。”意味着您尚未在 Windows 中设置环境变量。阅读全文http://maven.apache.org/download.html :-)

【讨论】:

【参考方案10】:

你也安装了 maven 2 吗? 我在搜索中找到了一个链接,看看它是否有帮助 http://blogs.oracle.com/sreekanth/entry/java_lang_noclassdeffounderror_org_codehaus

并仔细检查您的环境变量,以确保您已设置文档中提到的所有变量。

对于这个错误“mvn 不是内部或外部命令”,在 'path' 环境变量中添加 src/bin 文件夹。

【讨论】:

【参考方案11】:

就像 Joseph Ottinger 说的,你必须把 Maven 安装目录放到你的 PATH 环境变量或者用户变量中。您可以通过运行不带引号的命令“rundll32 sysdm.cpl,EditEnvironmentVariables”来编辑用户变量。

首先添加名为 MAVEN_HOME 的新变量,并为其赋值 Mavens 安装目录,即。 c:\tools\maven-3.0.3\ 然后编辑 PATH 变量并添加值的结尾 ;%MAVEN_HOME%\bin (注意分号)

重新登录或打开新的命令提示符后 mvn 命令应该可以正常工作。

【讨论】:

【参考方案12】:

有些人似乎在将 Maven bin 文件夹添加到系统 PATH 与用户 PATH 时遇到了麻烦。您可以尝试在您的用户变量下定义您的环境,但这更像是一种解决方法而不是解决方案。

PATH=%PATH%;%JAVA_HOME%\bin;%JRE_HOME%\bin;%MAVEN_HOME%\bin

您可以使用Rapid Environment Editor 诊断这些访问错误,它会告诉您某些 PATH 位置是否无效或您无法访问。

【讨论】:

以上是关于设置Maven的问题[重复]的主要内容,如果未能解决你的问题,请参考以下文章

maven的简单介绍

jenkins 配置maven

maven中包的依赖出现missing问题是因为啥

资源 | Maven精品视频教程

如何在 maven pom 属性值中转义“&”[重复]

idea只导入部分依赖