2013-12-08 15 views
5

Ich habe apt-get install maven2 verwendet, um maven2.2.1 zu installieren. Um hadoop 2.1.0 Quellprogramm zu kompilieren, muss ich die Maven Version aktualisieren, aber es ist nicht in der Lage apt-get wieder zu verwenden, da maven2.1.0 spätestens in der lib ist.Fehler: Konnte Hauptklasse org.codehaus.classworlds.Launcher beim Erstellen von Maven 3.0.4 nicht finden oder laden.

ich heruntergeladen apache-maven-3.0.5-bin.tar.gz von der offiziellen Website, lief tar apache-maven-3.0.5-bin.tar.gz auf dem Weg /usr/local und legte apache-maven Links zu 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 

Eingabereihenfolge "Export" zu identifizieren:

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

Alle Zeichen zeigten maven 3.0.5 hat in der Konfiguration erfolgreich ist, aber wenn ich Eingang

mvn -version

im Terminal, zeigen sie dennoch Fehler wie folgt aus:

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

Wenn ich ein neues Terminal und Eingabe ändern mvn -version, es zeigt:

[email protected]:~$ 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" 

Es passiert jedes Mal obwohl ich maven 2.2.1 deinstalliert hatte, indem ich:

sudo apt-get remove --purge maven

Ich weiß nicht warum? Ich habe es nicht vollständig deinstalliert?

Antwort

2

Ich würde eine Neuinstallation von Maven empfehlen. Entfernen Sie zuerst alle Installationen aller Versionen von Maven von Ihrem System

$ sudo apt-get remove maven

Als nächstes statt aus dem Paket-Manager herunterzuladen, laden Sie es von der offiziellen Apache-Website. Ich würde empfehlen, die neueste Version von Maven (3.1.X) zu erhalten und sie in einem Verzeichnis zu extrahieren, in dem Sie Lese-/Schreibrechte haben.

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

aktualisieren schließlich alle Symlinks und Home-Variablen für Maven gesetzt. Sie haben die Wahl, die Umgebungsvariablen zu definieren.

  1. /etc/environment -> Einige Leute empfehlen hier aus offensichtlichen Gründen keine Einstellung globaler Variablen.
  2. /etc/bashrc -> Ich persönlich benutze dies um beliebige Umgebungsvariablen zu exportieren.
+0

Vielen Dank für Ihre Antwort, ich habe das Problem gelöst, ich sollte apt-get remove maven2 verwenden, um die installierte maven2.2.1 zu entfernen, und die Konfiguration dieser installierten maven2.2.1.the reinigen mit apt-get install maven könnte maven3.0 + version installieren. – user3079078

+0

Vergessen Sie nicht zu antworten/die Antwort zu akzeptieren, wenn es hilfreich war –

5

Die unten Antwort (Einstellung M3_HOME statt M2_HOME) gelöst mein Problem http://www.johnlabarge.com/post/33156663109/dreaded-maven-error-could-not-find-or-load-main-class

I had this little issue on my Mac after installing maven3 and jdk1.7. Here is what fixed my issue:

1) Remove the M2_HOME variable from the path.

2) Add M3_HOME variable with the path to your maven 3 installation.

Here is the interesting part: I use symbolic links for versioning. The values of both M2_HOME and M3_HOME were identical. Both were /Developer/maven. Hence it appears that the name M2_HOME in place of M3_HOME is what actually causes the issue. I leave it as an exercise (that I may return to) to find the issue in the source.

+0

+1. Ich habe gerade dieses Problem von Maven 2 auf 3 unter Windows aktualisiert. Es war nicht genug, um alle Erwähnung der Maven 2 Installation aus dem Pfad zu vernichten, ich musste auch die Variable M2_HOME nuke. –

3

ich auch diesen Fehler bekam. Es stellte sich heraus, dass ich vergessen hatte, meine Shell neu zu starten.

Sobald ich Terminal geschlossen und öffnete es wieder, kam der Fehler nicht zurück und Maven arbeitete.

0

Ich konfrontiert das gleiche Problem in Windows 8, aber in meinem Fall Maven-Verzeichnis z. B. Apache-Maven-3.3.3 wurde ausgeblendet.

Post entfernen versteckte Option aus dem Verzeichnis Apache-Maven-3.3.3 arbeitete für mich.

Verwandte Themen