maven安装之后,或者升级之后遇到的问题:could not find or load main class org.codehaus.plexus.class.....

从maven2升级到maven3或者从maven3降级到maven2,M2_HOME环境变量改变后,在终端执行mvn -v,出现如下错误:

 

Exception in thread "main" java.lang.NoClassDefFoundError: org/codehaus/plexus/classworlds/launcher/Launcher

Caused by: java.lang.ClassNotFoundException: org.codehaus.plexus.classworlds.launcher.Launcher

at java.net.URLClassLoader$1.run(URLClassLoader.java:202)

at java.security.AccessController.doPrivileged(Native Method)

at java.net.URLClassLoader.findClass(URLClassLoader.java:190)

at java.lang.ClassLoader.loadClass(ClassLoader.java:306)

at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)

at java.lang.ClassLoader.loadClass(ClassLoader.java:247)

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

 
 
如果你是linux系统,你可能是在/etc/profile、~/.bash_profile或~/.bashrc文件中配置了M2_HOME环境变量,当M2_HOME的值改变后,就算你执行了source /etc/profile操作,也会出现如上错误,这时你就需要重新打开一个终端或者重新登录才可以,如果你是Windows系统,重新打开一个cmd窗口,一般就可以了,所以说上诉错误的根本原因是两个版本的maven切换时,在同一个终端执行了mvn -v,而没有打开新的终端或者重新登录。
 
参考连接:http://manysysy.iteye.com/blog/1104634
posted @ 2017-10-26 19:46  DamonWong  阅读(7080)  评论(0编辑  收藏  举报