Maven错误:无法找到或加载主类org.codehaus.plexus.classworlds.launcher.Launcher

时间:2015-10-14 19:18:26

标签: java maven

我现在已经被这个简单的问题困住了一个小时。 Maven上周工作正常,我不知道出了什么问题它给了我这个错误。我尝试了所有调试方法以及StackOverflow和许多其他地方的所有解决方案。我甚至尝试用M3_HOME和MAVEN_HOME替换M2_HOME路径。没有任何效果。我在OS X上。下面是几个maven命令的输出。我很乐意提供更多信息

$ mvn
Error: Could not find or load main class org.codehaus.plexus.classworlds.launcher.Launcher

$ which mvn
/Library/Maven-3.3.3/bin/mvn

$ echo $M2_HOME
/Library/Maven-3.3.3

$ echo $JAVA_HOME
/Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home

$ which java
/usr/bin/java

$ /Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home/bin/java -version
java version "1.7.0_75"
Java(TM) SE Runtime Environment (build 1.7.0_75-b13)
Java HotSpot(TM) 64-Bit Server VM (build 24.75-b04, mixed mode)

$ echo $PATH
/opt/local/bin:/opt/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/Tomcat/bin:/Library/Maven-3.3.3/bin

$ java -version
java version "1.7.0_75"
Java(TM) SE Runtime Environment (build 1.7.0_75-b13)
Java HotSpot(TM) 64-Bit Server VM (build 24.75-b04, mixed mode)

$  ls -lR /Library/Maven-3.3.3
total 56
-rw-r--r--@  1 USERNAME  wheel  19091 Apr 22 04:58 LICENSE
-rw-r--r--@  1 USERNAME  wheel    182 Apr 22 04:58 NOTICE
-rw-r--r--@  1 USERNAME  wheel   2541 Apr 22 04:55 README.txt
drwxr-xr-x@  8 USERNAME  wheel    272 Oct 14 12:24 bin
drwxr-xr-x@  3 USERNAME  wheel    102 Oct 14 12:24 boot
drwxr-xr-x@  5 USERNAME  wheel    170 Apr 22 04:55 conf
drwxr-xr-x@ 75 USERNAME  wheel   2550 Oct 14 12:24 lib

/Library/Maven-3.3.3/bin:
total 64
-rw-r--r--@ 1 USERNAME  wheel   230 Apr 22 04:58 m2.conf
-rwxr-xr-x@ 1 USERNAME  wheel  7075 Apr 22 04:58 mvn
-rw-r--r--@ 1 USERNAME  wheel  6007 Apr 22 04:58 mvn.cmd
-rwxr-xr-x@ 1 USERNAME  wheel  1796 Apr 22 04:58 mvnDebug
-rw-r--r--@ 1 USERNAME  wheel  1513 Apr 22 04:58 mvnDebug.cmd
-rwxr-xr-x@ 1 USERNAME  wheel  1843 Apr 22 04:58 mvnyjp

/Library/Maven-3.3.3/boot:
total 104
-rw-r--r--@ 1 USERNAME  wheel  52684 Aug 29  2014 plexus-classworlds-2.5.2.jar

/Library/Maven-3.3.3/conf:
total 32
drwxr-xr-x@ 3 USERNAME  wheel    102 Apr 22 04:55 logging
-rw-r--r--@ 1 USERNAME  wheel  10216 Apr 22 04:55 settings.xml
-rw-r--r--@ 1 USERNAME  wheel   3649 Apr 22 04:55 toolchains.xml

/Library/Maven-3.3.3/conf/logging:
total 8
-rw-r--r--@ 1 USERNAME  wheel  1126 Apr 22 04:55 simplelogger.properties

/Library/Maven-3.3.3/lib:
total 18656
-rw-r--r--@ 1 USERNAME  wheel   136324 Jan 29  2015 aether-api-1.0.2.v20150114.jar
-rw-r--r--@ 1 USERNAME  wheel    12637 Apr 22 04:58 aether-api.license
-rw-r--r--@ 1 USERNAME  wheel    36745 Jan 29  2015 aether-connector-basic-1.0.2.v20150114.jar
-rw-r--r--@ 1 USERNAME  wheel    12637 Apr 22 04:58 aether-connector-basic.license
-rw-r--r--@ 1 USERNAME  wheel   172998 Jan 29  2015 aether-impl-1.0.2.v20150114.jar
-rw-r--r--@ 1 USERNAME  wheel    12637 Apr 22 04:58 aether-impl.license
-rw-r--r--@ 1 USERNAME  wheel    30705 Jan 29  2015 aether-spi-1.0.2.v20150114.jar
-rw-r--r--@ 1 USERNAME  wheel    12637 Apr 22 04:58 aether-spi.license
-rw-r--r--@ 1 USERNAME  wheel    25355 Jan 29  2015 aether-transport-wagon-1.0.2.v20150114.jar
-rw-r--r--@ 1 USERNAME  wheel    12637 Apr 22 04:58 aether-transport-wagon.license
-rw-r--r--@ 1 USERNAME  wheel   146876 Jan 29  2015 aether-util-1.0.2.v20150114.jar
-rw-r--r--@ 1 USERNAME  wheel    12637 Apr 22 04:58 aether-util.license
-rw-r--r--@ 1 USERNAME  wheel     4467 May  7  2013 aopalliance-1.0.jar
-rw-r--r--@ 1 USERNAME  wheel    44908 May  7  2013 cdi-api-1.0.jar
-rw-r--r--@ 1 USERNAME  wheel    21837 Apr 22 04:58 cdi-api.license
-rw-r--r--@ 1 USERNAME  wheel    41123 May  7  2013 commons-cli-1.2.jar
-rw-r--r--@ 1 USERNAME  wheel   173587 May  7  2013 commons-io-2.2.jar
-rw-r--r--@ 1 USERNAME  wheel   284220 May  7  2013 commons-lang-2.6.jar
drwxr-xr-x@ 3 USERNAME  wheel      102 Apr 22 04:55 ext
-rw-r--r--@ 1 USERNAME  wheel  2256213 Nov  1  2014 guava-18.0.jar
-rw-r--r--@ 1 USERNAME  wheel     2497 May  7  2013 javax.inject-1.jar
-rw-r--r--@ 1 USERNAME  wheel   293671 Jul 24  2013 jsoup-1.7.2.jar
-rw-r--r--@ 1 USERNAME  wheel     3449 Apr 22 04:58 jsoup.license
-rw-r--r--@ 1 USERNAME  wheel     5848 May  7  2013 jsr250-api-1.0.jar
-rw-r--r--@ 1 USERNAME  wheel    18116 Apr 22 04:58 jsr250-api.license
-rw-r--r--@ 1 USERNAME  wheel    66349 Apr 22 04:57 maven-aether-provider-3.3.3.jar
-rw-r--r--@ 1 USERNAME  wheel    11358 Apr 22 04:58 maven-aether-provider.license
-rw-r--r--@ 1 USERNAME  wheel    55090 Apr 22 04:56 maven-artifact-3.3.3.jar
-rw-r--r--@ 1 USERNAME  wheel    11358 Apr 22 04:58 maven-artifact.license
-rw-r--r--@ 1 USERNAME  wheel    14964 Apr 22 04:56 maven-builder-support-3.3.3.jar
-rw-r--r--@ 1 USERNAME  wheel    11358 Apr 22 04:58 maven-builder-support.license
-rw-r--r--@ 1 USERNAME  wheel   286726 Apr 22 04:58 maven-compat-3.3.3.jar
-rw-r--r--@ 1 USERNAME  wheel    11358 Apr 22 04:58 maven-compat.license
-rw-r--r--@ 1 USERNAME  wheel   631881 Apr 22 04:57 maven-core-3.3.3.jar
-rw-r--r--@ 1 USERNAME  wheel    11358 Apr 22 04:58 maven-core.license
-rw-r--r--@ 1 USERNAME  wheel    86051 Apr 22 04:58 maven-embedder-3.3.3.jar
-rw-r--r--@ 1 USERNAME  wheel    11358 Apr 22 04:58 maven-embedder.license
-rw-r--r--@ 1 USERNAME  wheel   160817 Apr 22 04:56 maven-model-3.3.3.jar
-rw-r--r--@ 1 USERNAME  wheel   176410 Apr 22 04:56 maven-model-builder-3.3.3.jar
-rw-r--r--@ 1 USERNAME  wheel    11358 Apr 22 04:58 maven-model-builder.license
-rw-r--r--@ 1 USERNAME  wheel    11358 Apr 22 04:58 maven-model.license
-rw-r--r--@ 1 USERNAME  wheel    46099 Apr 22 04:56 maven-plugin-api-3.3.3.jar
-rw-r--r--@ 1 USERNAME  wheel    11358 Apr 22 04:58 maven-plugin-api.license
-rw-r--r--@ 1 USERNAME  wheel    25957 Apr 22 04:57 maven-repository-metadata-3.3.3.jar
-rw-r--r--@ 1 USERNAME  wheel    11358 Apr 22 04:58 maven-repository-metadata.license
-rw-r--r--@ 1 USERNAME  wheel    43032 Apr 22 04:57 maven-settings-3.3.3.jar
-rw-r--r--@ 1 USERNAME  wheel    43154 Apr 22 04:57 maven-settings-builder-3.3.3.jar
-rw-r--r--@ 1 USERNAME  wheel    11358 Apr 22 04:58 maven-settings-builder.license
-rw-r--r--@ 1 USERNAME  wheel    11358 Apr 22 04:58 maven-settings.license
-rw-r--r--@ 1 USERNAME  wheel   375267 Feb 20  2015 org.eclipse.sisu.inject-0.3.0.jar
-rw-r--r--@ 1 USERNAME  wheel    12637 Apr 22 04:58 org.eclipse.sisu.inject.license
-rw-r--r--@ 1 USERNAME  wheel   205404 Feb 20  2015 org.eclipse.sisu.plexus-0.3.0.jar
-rw-r--r--@ 1 USERNAME  wheel    12637 Apr 22 04:58 org.eclipse.sisu.plexus.license
-rw-r--r--@ 1 USERNAME  wheel    13350 May  7  2013 plexus-cipher-1.7.jar
-rw-r--r--@ 1 USERNAME  wheel    21837 Apr 22 04:58 plexus-cipher.license
-rw-r--r--@ 1 USERNAME  wheel     4211 May  7  2013 plexus-component-annotations-1.5.5.jar
-rw-r--r--@ 1 USERNAME  wheel    62458 Oct 29  2014 plexus-interpolation-1.21.jar
-rw-r--r--@ 1 USERNAME  wheel    28555 May  7  2013 plexus-sec-dispatcher-1.3.jar
-rw-r--r--@ 1 USERNAME  wheel    21837 Apr 22 04:58 plexus-sec-dispatcher.license
-rw-r--r--@ 1 USERNAME  wheel   243128 Oct 29  2014 plexus-utils-3.0.20.jar
-rw-r--r--@ 1 USERNAME  wheel   399672 Feb 20  2015 sisu-guice-3.2.5-no_aop.jar
-rw-r--r--@ 1 USERNAME  wheel    26084 Jul 24  2013 slf4j-api-1.7.5.jar
-rw-r--r--@ 1 USERNAME  wheel    14853 Apr 22 04:58 slf4j-api.license
-rw-r--r--@ 1 USERNAME  wheel    10680 Aug 17  2013 slf4j-simple-1.7.5.jar
-rw-r--r--@ 1 USERNAME  wheel    14853 Apr 22 04:58 slf4j-simple.license
-rw-r--r--@ 1 USERNAME  wheel    11432 Apr 21 06:27 wagon-file-2.9.jar
-rw-r--r--@ 1 USERNAME  wheel    11358 Apr 22 04:58 wagon-file.license
-rw-r--r--@ 1 USERNAME  wheel  2259073 Apr 21 06:32 wagon-http-2.9-shaded.jar
-rw-r--r--@ 1 USERNAME  wheel    11787 Apr 21 06:27 wagon-http-shared-2.9.jar
-rw-r--r--@ 1 USERNAME  wheel    11358 Apr 22 04:58 wagon-http-shared.license
-rw-r--r--@ 1 USERNAME  wheel    11358 Apr 22 04:58 wagon-http.license
-rw-r--r--@ 1 USERNAME  wheel    53543 Apr 21 06:27 wagon-provider-api-2.9.jar
-rw-r--r--@ 1 USERNAME  wheel    11358 Apr 22 04:58 wagon-provider-api.license

/Library/Maven-3.3.3/lib/ext:
total 8
-rw-r--r--@ 1 USERNAME  wheel  152 Apr 22 04:55 README.txt

13 个答案:

答案 0 :(得分:26)

  

请删除M2_HOME作为环境变量,已经设置了   mvn脚本。您需要做的唯一事情是:添加   将apache-maven-3.x.x / bin添加到您的路径中,将JAVA_HOME设置为环境   变量。因此,无需将%JAVA_HOME%/ bin添加到您的路径

     

尝试首先从/Library/Maven-3.3.3/bin/文件夹运行mvn -v   确认安装是否正确。尝试使用xtrace信息运行mvn   (tldp.org/LDP/Bash-Beginners-Guide/html/sect_02_03.html)并验证   由Maven建立的命令行。我假设你出乎意料   classpath参数值。

答案 1 :(得分:4)

对于它的价值,我有同样的错误:Could not find or load main class org.codehaus...的事情,但没有任何其他信息(你会发现很多人有这个错误信息 - 但通常伴随着额外的信息,如类加载失败)。

事实证明我的安装已损坏,也许某些文件无法解压缩或其他东西。 maven目录的rm -rf并重新下载并解压缩修复它。

答案 2 :(得分:3)

编辑:请注意,这适用于Mac用户

M2_HOME需要从PATH中删除。默认情况下,您的PATH可能会从以下某个文件中获取(对我来说,它位于~/.profile)。

/etc/bashrc
/etc/profile
~/.bashrc
~/.bash_profile
~/.profile
~/.MacOSX/environment.plist

它可能看起来像这样:

export M2_HOME=/Applications/apache-maven-3.2.3
export M2=$M2_HOME/bin
export PATH=$M2:$PATH

删除M2_HOME变量和任何依赖项(在示例中,M2变量使用M2_HOME,因此请删除该变量,然后使用$M2后面的行它出现在哪里。

[source]

为了提供有关如何使用此文件的更多信息,您可以继续追加要包含在路径中的任何位置。

例如,如果要将/User/batman/google-sdk包含到路径中,则将以下行添加到文件末尾将附加/Users/batman/google-sdk(在您的情况下,无论文件夹的位置是什么),到了PATH。

export PATH=$PATH:/Users/batman/google-sdk

但请确保PATH在上一行之前已经有一些信息。

答案 3 :(得分:2)

对于绝对新人来说,请确保从Maven网站下载“二进制存档”,而不是“源存档”。

答案 4 :(得分:1)

删除并重新安装对我有用。

情况:

  • 我在这台Linux机器上运行maven已经有一年了。
  • Java已从7升级到8(但也发生了其他更改)。
  • 我的M2_HOME / M3_HOME未定义(因此清除此问题并非解决方案)。
  • 在debug(mvn)中运行bash -x mvn脚本显示已明确请求丢失的jar文件。
  • 我只能找到org.codehaus.plexus.classworlds软件包/模块的旧版本。

由于我们不清楚如何独立更新org.codehaus罐子,我让apt-get拉出所需的东西。问题解决了。

答案 5 :(得分:0)

我解决了这个问题,它对我有用: 删除maven解压缩文件。 然后得到更新的。 然后重新配置路径。 因为原始文件已损坏。 use mvn -v

答案 6 :(得分:0)

在我的情况下M2_HOME指向/usr/share/maven3;但ith应该是:

  

M2_HOME =的/ usr /共享/行家

<。> .bashrc

答案 7 :(得分:0)

根据我的经验,请检查您的/ bin / mvn是一个POSIX shell脚本。在脚本中,它首先发现maven相关的env,例如/ etc / mavenrc或$ HOME / .mavenrc。在我的情况下,在/ etc / mavenrc中,M2_HOME env变量设置为我删除的变量,然后在我将M2_HOME设置为新的maven安装后,&#34; mvn -v&#34;工作。

答案 8 :(得分:0)

我所做的是我重命名(在我的.bash_profile中)

export M2_HOME=/usr/local/bin/mvn
export M2=$M2_HOME/bin

export M3_HOME=/usr/local/bin/mvn
export M2=$M3_HOME/bin

然后使用命令(谢谢TS!)

$ which mvn

$ echo $M2_HOME

我看到两者都有不同的路径所以我将$M2_HOME路径更改为与“which mvn”命令中显示的相同。为了改变这条路径,我刚刚编辑了.bash_profile文件,其中包含变量。

答案 9 :(得分:0)

删除旧的Maven版本并恢复较新的版本解决了我的问题。 我之前在Java 1.8.0_65中使用过Maven 3.2.3。 刚尝试用3.3.9替换早期的maven版本,对环境变量进行了更改,并且工作正常。

答案 10 :(得分:0)

下载apache maven二进制软件包而不是源代码,这样可以解决以下问题:

  

错误:找不到或加载主类   org.codehaus.plexus.classworlds.launcher.Launcher

答案 11 :(得分:0)

似乎这个问题现在出现在openjdk docker内部(我使用circleci / openjdk:8-jdk)。

请参见bug report

答案 12 :(得分:-1)

重新启动eclipse解决了我的问题。