错误:在构建Maven 3.0.4时无法找到或加载主类org.codehaus.classworlds.Launcher

use*_*078 5 java linux apache ubuntu maven

我习惯apt-get install maven2安装maven2.2.1.为了编译Hadoop的2.1.0的源程序,我需要升级Maven的版本,但它是不能使用apt-get了,因为maven2.1.0是在lib最新的.

apache-maven-3.0.5-bin.tar.gz从官方网站下载,tar apache-maven-3.0.5-bin.tar.gz在路径上运行/usr/local,并将apache-maven链接放到apache-maven-3.0.5:

lrwxrwxrwx  1 root root   18 Dec  8 11:26 apache-maven -> apache-maven-3.0.5
drwxr-xr-x  6 root root 1024 Dec  8 11:12 apache-maven-3.0.5

export the order in the terminal like this:
export M2_HOME=/usr/local/apache-maven
export PATH=$PATH:$M2_HOME/bin 
Run Code Online (Sandbox Code Playgroud)

输入订单"导出"以识别:

.............................................
declare -x M2_HOME="/usr/local/apache-maven"
declare -x MANDATORY_PATH="/usr/share/gconf/ubuntu.mandatory.path"
declare -x OLDPWD="/usr"
declare -x PATH="/usr/lib/lightdm/lightdm:/usr/local/java/latest/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/apache-maven/bin"
Run Code Online (Sandbox Code Playgroud)

所有迹象表明maven 3.0.5已经成功配置,但是当我输入时

mvn -version

在终端中,它显示如下错误:

Error: Could not find or load main class org.codehaus.classworlds.Launcher
Run Code Online (Sandbox Code Playgroud)

如果我更改新终端并输入mvn -version,则显示:

administrator@ubuntu:~$ mvn -version
Apache Maven 2.2.1 (rdebian-8)
Java version: 1.7.0_45
Java home: /usr/local/java/jdk1.7.0_45/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux" version: "3.5.0-17-generic" arch: "amd64" Family: "unix"
Run Code Online (Sandbox Code Playgroud)

虽然我通过运行卸载了maven 2.2.1,但每次都会发生这种情况:

sudo apt-get remove --purge maven

我不知道为什么?我没有完全卸载它?

小智 5

以下答案(设置M3_HOME而不是M2_HOME)解决了我的问题 http://www.johnlabarge.com/post/33156663109/dreaded-maven-error-could-not-find-or-load-main-class

安装maven3和jdk1.7后,我的Mac上出现了这个小问题.这是解决我的问题的原因:

1)从路径中删除M2_HOME变量.

2)添加M3_HOME变量以及maven 3安装的路径.

这是有趣的部分:我使用符号链接进行版本控制.M2_HOME和M3_HOME的值相同.两者都是/ Developer/maven.因此,似乎M2_HOME的名称代替M3_HOME实际上是导致问题的原因.我将它留作练习(我可以回到),以便在源代码中找到问题.


Sai*_*sif 4

我建议全新安装 Maven。首先,从系统中删除所有版本的 Maven 的所有安装

$ sudo apt-get remove maven

接下来,不要从包管理器下载,而是从 Apache 官方网站下载。我建议获取最新版本的 maven (3.1.X),并将其解压到您具有读/写权限的目录中。

$ tar -xvf apache-maven-3.1.1.tar.gz

最后更新为 Maven 设置的所有符号链接和主变量。您可以选择定义环境变量。

  1. /etc/environment-> 由于显而易见的原因,有些人不建议在这里设置全局变量。
  2. /etc/bashrc-> 我个人用它来导出我想要的任何环境变量。