Maven的:MVN --version抛出java.lang.ClassNotFoundExcep

2019-09-17 18:45发布

我刚装了新的Maven到我新的Fedora 17的64位。

细节:

Java的版本

java version "1.6.0_32"
Java(TM) SE Runtime Environment (build 1.6.0_32-b05)
Java HotSpot(TM) 64-Bit Server VM (build 20.7-b02, mixed mode)

的javac -version

javac 1.6.0_32

回声$ JAVA_HOME

/usr/java/jdk1.6.0_32

回声$ JRE_HOME

/usr/java/jdk1.6.0_32/jre

回声$ M2_HOME

/usr/local/maven/apache-maven-3.0.4

回声$ M2

/usr/local/maven/apache-maven-3.0.4/bin

回声$ PATH

/usr/local/maven/apache-maven-3.0.4/bin:/usr/local/bin:/usr/bin:/bin:/usr/games:/usr/local/sbin:/usr/sbin:/usr/java/jdk1.6.0_32/bin:/home/bujaka/.local/bin:/home/bujaka/bin

其中MVN

/usr/local/maven/apache-maven-3.0.4/bin/mvn

但MVN -version抛出抛出java.lang.ClassNotFoundException。

java.lang.ClassNotFoundException: org.apache.maven.cli.MavenCli
    at org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFirstStrategy.java:50)
    at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:244)
    at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:230)
    at org.codehaus.plexus.classworlds.launcher.Launcher.getMainClass(Launcher.java:145)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:267)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230)                                                    
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409)                                          
    at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352)

PS我安装的Apache Maven的网站(而不是从Fedora的回购)

Answer 1:

MavenCli类是在Maven的嵌入。 你是在一个代理?

  <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
                      http://maven.apache.org/xsd/settings-1.0.0.xsd">
  ...
  <proxies>
    <proxy>
      <id>myproxy</id>
      <active>true</active>
      <protocol>http</protocol>
      <host>proxy.somewhere.com</host>
      <port>8080</port>
      <username>proxyuser</username>
      <password>somepassword</password>
      <nonProxyHosts>*.google.com|ibiblio.org</nonProxyHosts>
    </proxy>
  </proxies>
  ...
</settings>

@see Maven的代理服务器设置



Answer 2:

感谢user1436170 ,你最后的评论为我做的工作还有:

/lib catalog was empty in maven.tar.gz archive.

当通过krusader打开,在tar.gz文件lib文件夹里面是空的,但是通过柜打开时,它包含了罐子。

反正拉链作品。



Answer 3:

我只是碰到这种同样的问题来了。 Bujaka的评论和彼得Butkovic的回答得到的问题,但备案这里是我拿上它,我使用的解决方案。

我不知道是什么原因导致的,但有时/ lib文件夹在你的Maven安装目录中的全部内容可以成为空。 当你得到这个错误,这可能是这种情况。

如果你检查你的/ lib文件夹,发现它不是空的,它仍然是可能的(虽然不太可能),一个至关重要的文件不知何故被删除。

如果您的Maven安装用来工作查找和最近才开始演戏了,那么你所使用的压缩文档可能是罚款。 这里是做什么:

  1. 重命名你的安装目录(或者,如果你是勇敢的,只是将其删除)。
  2. 得到原来的压缩文档。 (如果你像我一样,它仍然在某处你越来越凌乱的下载文件夹中。如果没有,你就必须重新下载。)
  3. 解压说压缩到原来的安装目录的位置(你要么重命名或删除)。

Maven的安装现在应该重新工作。



文章来源: Maven: mvn --version java.lang.ClassNotFoundException