# Maven2 - Anfängerprobleme



## RaoulDuke (26. Nov 2009)

Hallo zusammen,

ich wollte mir gerade mal wieder maven2 anschauen, aber ich bin gerade recht enttäuscht. Ich habe "apache-maven-2.2.1" im Einsatz. In meinen Dependencies steht folgendes:
[xml]
   <dependencies>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring</artifactId>
            <version>2.5.6</version>
        </dependency>
        <dependency>
            <groupId>org.apache.activemq</groupId>
            <artifactId>activemq-core</artifactId>
            <version>5.3.0</version>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.7</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.15</version>
        </dependency>
[/xml]
Also eigentlich nichts Besonderes. Jetzt hab ich mich gewundert, warum beim Build immer einige Jars kaputt sind:

```
error: error reading /home/borkert/.m2/repository/javax/mail/mail/1.4/mail-1.4.jar; error in opening zip file
error: error reading /home/borkert/.m2/repository/javax/jms/jms/1.1/jms-1.1.jar; error in opening zip file
error: error reading /home/borkert/.m2/repository/com/sun/jdmk/jmxtools/1.2.1/jmxtools-1.2.1.jar; error in opening zip file
error: error reading /home/borkert/.m2/repository/com/sun/jmx/jmxri/1.2.1/jmxri-1.2.1.jar; error in opening zip file
```
Ich schau also mal in so eine Datei rein:

```
> cat /home/borkert/.m2/repository/javax/mail/mail/1.4/mail-1.4.jar
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>301 Moved Permanently</title>
</head><body>
<h1>Moved Permanently</h1>
<p>The document has moved <a href="http://download.java.net/maven/1/javax.mail/jars/mail-1.4.jar">here</a>.</p>
<hr>
<address>Apache Server at maven-repository.dev.java.net Port 443</address>
</body></html>
```
Ist das Tool zu blöd um merken, dass der Download vom Webserver nicht klappt? Wo nimmt der überhaupt sein default Repository her? In der Konfiguration steht alles auf Default, eine Repository URL konnte ich da nicht finden.


----------



## maki (26. Nov 2009)

Mit [c]mvn help:effective-pom[/c]  kannst du dir die komplette POM Konfig anzeigen lassen, inkl. der Repos.
Dein lokales Repo  unter .m2 scheint zerschossen zu sein... nutzt du ein "zentrales lokales" Repo wie Nexus oder Artifactory?
Im Zweifelsfalle alles unter .m2/repository löschen, dann muss Maven2 eben wieder das halbe Internet runterladen..


----------



## RaoulDuke (26. Nov 2009)

Ich hab jetzt schon mehrfach das komplette .m2 in meinem Home gelöscht. Dann lädt er alles neu runter, landet aber wieder beim gleichen Problem. Dabei sieht man dann auch Fehlermeldungen vorbeirauschen, dass es beim Download dieser gewissen Jars ein CRC Problem gibt.

Ich habe Maven gerade frisch heruntergeladen, die 2.2.1 von Maven - Download Maven

Ich hab da auch sonst nix dolles laufen, ich hab einfach mal ein fast leeres Projekt gemacht und geschaut wie kompliziert es wohl ist, da die Abhängigkeiten Spring, ActiveMq, etc reinzuholen.

Java Version ist: 

java version "1.6.0_15"
Java(TM) SE Runtime Environment (build 1.6.0_15-b03)
Java HotSpot(TM) 64-Bit Server VM (build 14.1-b02, mixed mode)


----------



## maki (26. Nov 2009)

Hast du eine .m2/settings.xml?

Welche Repos sind bei dir eingetragen wenn du das help Kommando  ausführst?


----------



## RaoulDuke (26. Nov 2009)

Nein, keine settings.xml. Ich hab auch extra das komplette .m2 gelöscht.

Help sagt: 

[XML]
<repositories>
    <repository>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
      <id>central</id>
      <name>Maven Repository Switchboard</name>
      <url>http://repo1.maven.org/maven2</url>
    </repository>
  </repositories>
[/XML]
Ich hab gerade nochmal ein neues Projekt angelegt, und wirklich nur die 4 Deps reingepackt, es passiert trotzdem.


----------



## RaoulDuke (26. Nov 2009)

Irgendwie verwirrt es mich immer mehr. Jetzt hab ich mal nur noch log4j in der pom.xml unter den Deps gelassen, hab wieder .m2 gelöscht, und mal ein install auf das quasi leere Projekt gemacht. Es lädt wieder Sachen runter:

[WARNING] *** CHECKSUM FAILED - Checksum failed on download: local = '22c5a3603e08905d985a84fb0a7365e141be8816'; remote = '<!DOCTYPE' - RETRYING
Downloading: https://maven-repository.dev.java.net/nonav/repository/javax.mail/jars/mail-1.4.jar
[WARNING] *** CHECKSUM FAILED - Checksum failed on download: local = '9e1dae7682d2b60d5b17b7d47e20d99d70ba65cf'; remote = '<!DOCTYPE' - RETRYING
Downloading: https://maven-repository.dev.java.net/nonav/repository/com.sun.jdmk/jars/jmxtools-1.2.1.jar
[WARNING] *** CHECKSUM FAILED - Checksum failed on download: local = 'a55ce8e95c9bb027e78557acc9e2b973fe3c611e'; remote = '<!DOCTYPE' - IGNORING
[WARNING] *** CHECKSUM FAILED - Checksum failed on download: local = 'd0b7ce08d257e8fefdc6ad0f0f0368635bbeb3d0'; remote = '<!DOCTYPE' - RETRYING
Downloading: https://maven-repository.dev.java.net/nonav/repository/javax.jms/jars/jms-1.1.jar
349b downloaded  (mail-1.4.jar)
357b downloaded  (jmxtools-1.2.1.jar)
347b downloaded  (jms-1.1.jar)
[WARNING] *** CHECKSUM FAILED - Checksum failed on download: local = '22c5a3603e08905d985a84fb0a7365e141be8816'; remote = '<!DOCTYPE' - IGNORING
[WARNING] *** CHECKSUM FAILED - Checksum failed on download: local = '9e1dae7682d2b60d5b17b7d47e20d99d70ba65cf'; remote = '<!DOCTYPE' - IGNORING
[WARNING] *** CHECKSUM FAILED - Checksum failed on download: local = 'd0b7ce08d257e8fefdc6ad0f0f0368635bbeb3d0'; remote = '<!DOCTYPE' - IGNORING

Downloading: http://repo1.maven.org/maven2/org/apache/maven/maven-plugin-api/2.0/maven-plugin-api-2.0.pom

Warum lädt er diese Sachen runter? Das sind wohl kaum alles Abhängigkeiten von log4j. ActiveMQ hab ich aus der pom.xml rausgenommen.

Edit: Ok, laut den Dependencies sind das tatsächlich alles Dependencies von log4j. Hab ich ne schlechte Version log4j da in der pom.xml eingetragen? Nen anderes Log4j finde ich nicht.


----------



## maki (26. Nov 2009)

Das hier funktioniert bei mir problemlos:
[xml]<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>org.java-forum</groupId>
  <artifactId>activeMq</artifactId>
  <version>0.0.1-SNAPSHOT</version>

  <dependencies>
          <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring</artifactId>
            <version>2.5.6</version>
        </dependency>
        <dependency>
            <groupId>org.apache.activemq</groupId>
            <artifactId>activemq-core</artifactId>
            <version>5.3.0</version>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.7</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.15</version>
        </dependency>
  </dependencies>
</project>[/xml]
Werde mal mein .m2/repository löschen und sehen was dann rauskommt...

Nachtrag: Hab nun das gleiche Problem, der Build geht zwar, aber die Fehlermeldungen kommen, scheint als ob dev.java.net ein Problem mit ihrem Repo im Moment haben.


----------



## RaoulDuke (26. Nov 2009)

Ich probier das auch mal auf einem anderen System aus. Was mich total wundert ist jedenfalls das er die kaputten Jars da im Repository liegen lässt, das macht doch eigentlich keinen Sinn.


----------



## maki (26. Nov 2009)

Ok, alles klar, Problem bekannt  und hat seinen Ursprung in Suns Lizenzen, Lösung wird heir beschrieben: Resolving log4j 1.2.15 dependency problems in Maven using exclusions  unitstep.net

Kurz: Musst das ein paar Dependencies von log4j excluden.

Ich selber nahme die Version 1.2.14 von log4j, die scheint diese Probleme nciht zu haben.


----------



## RaoulDuke (26. Nov 2009)

Danke, ich glaub ich nehm dann einfach 1.2.14 

Gruseliges Problem o.o


----------

