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

时间:2013-12-08 04:18:21

标签: java linux apache maven ubuntu

我已使用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 < / EM>:

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 

输入订单“导出”以识别:

.............................................
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"

所有迹象显示 maven 3.0.5 已成功配置,但当我输入时

mvn -version

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

Error: Could not find or load main class org.codehaus.classworlds.Launcher

如果我更改了一个新终端并输入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"

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

sudo apt-get remove --purge maven

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

5 个答案:

答案 0 :(得分: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实际上是导致问题的原因。我把它留作练习(我可以回到),在源头找到问题。

答案 1 :(得分:4)

我也遇到了这个错误。结果我忘了重新启动我的shell。

一旦我关闭终端并再次打开它,错误就没有回来,Maven工作了。

答案 2 :(得分:3)

我建议全新安装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 - &gt;由于显而易见的原因,有些人不建议在此处设置全局变量。
  2. /etc/bashrc - &gt;我个人用它来导出我想要的任何环境变量。

答案 3 :(得分:0)

我在Windows 8中遇到了同样的问题,但在我的情况下,maven目录例如apache-maven-3.3.3被隐藏了。

从apache-maven-3.3.3目录中删除隐藏选项对我有效。

答案 4 :(得分:0)

在Ubuntu 18.04上为我解决:

$ sudo apt-get remove maven

$ sudo apt-get purge maven

$ sudo apt-get install maven `