webentwicklung-frage-antwort-db.com.de

Maven Abhängigkeiten konnten nicht aufgelöst werden, Artefakte konnten nicht aufgelöst werden

Dies soll ein Arbeitsprojekt meines Freundes sein. Er hat das Projekt direkt vor mir demonstriert, und dann habe ich das Projekt kopiert und als vorhandenes Maven-Projekt importiert (ich verwende das m2Eclipse-Plugin).

Und dann tritt dieser Fehler auf. Dieser Fehler kann jedes Mal reproduziert werden, wenn ich versuche, etwas mit Maven zu bauen.

Wenn Sie mvn-Abhängigkeit: Baum, Abhängigkeit: Liste oder das übliche Build-Paket ausführen, wird derselbe Fehler angezeigt.

Der Fehler beim Ausführen des Builds 'package' von Eclipse ist:

[INFO] Scanning for projects...
[INFO]                                                                         
[INFO] ------------------------------------------------------------------------
[INFO] Building Jackpot Portal Webapp 1.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[WARNING] The POM for javax.servlet:com.springsource.javax.servlet:jar:2.5.0 is missing, no dependency information available
[WARNING] The POM for javax.servlet:com.springsource.javax.servlet.jsp.jstl:jar:1.2.0 is missing, no dependency information available
[WARNING] The POM for javax.transaction:com.springsource.javax.transaction:jar:1.1.0 is missing, no dependency information available
[WARNING] The POM for org.slf4j:com.springsource.slf4j.log4j:jar:1.5.6 is missing, no dependency information available
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.963s
[INFO] Finished at: Tue Jan 11 01:55:41 WIT 2011
[INFO] Final Memory: 2M/56M
[INFO] ------------------------------------------------------------------------

[ERROR] Failed to execute goal on project jackpot: Could not resolve dependencies 
for project com.jeteo:jackpot:war:1.0-SNAPSHOT: The following artifacts could 
not be resolved: javax.servlet:com.springsource.javax.servlet:jar:2.5.0,
javax.servlet:com.springsource.javax.servlet.jsp.jstl:jar:1.2.0, 
javax.transaction:com.springsource.javax.transaction:jar:1.1.0, 
org.slf4j:com.springsource.slf4j.log4j:jar:1.5.6: Failure to find 
javax.servlet:com.springsource.javax.servlet:jar:2.5.0 in 
http://repository.springsource.com/maven/bundles/release was cached in the 
local repository, resolution will not be reattempted until the update 
interval of com.springsource.repository.bundles.release has elapsed or 
updates are forced -> [Help 1]

[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.Apache.org/confluence/display/MAVEN/DependencyResolutionException

Und hier ist der Inhalt der pom.xml:

 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>com.jeteo</groupId>
 <artifactId>jackpot</artifactId>
 <packaging>war</packaging>
 <version>1.0-SNAPSHOT</version>
 <name>Jackpot Portal Webapp</name>
 <url>http://www.jeteo.com</url>
 <properties>
  <Java-version>1.6</Java-version>
  <org.springframework-version>3.0.3.RELEASE</org.springframework-version>
  <org.hibernate-version>3.6.0.Final</org.hibernate-version>
  <org.aspectj-version>1.6.9</org.aspectj-version>
  <org.slf4j-version>1.5.10</org.slf4j-version>
 </properties>
 <dependencies>
  <dependency>
   <groupId>org.springframework</groupId>
   <artifactId>spring-webmvc</artifactId>
   <version>${org.springframework-version}</version>
  </dependency>
  <dependency>
   <groupId>org.springframework</groupId>
   <artifactId>spring-orm</artifactId>
   <version>${org.springframework-version}</version>
  </dependency>
  <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-test</artifactId>
      <version>${org.springframework-version}</version>
  </dependency>
  <dependency>
   <groupId>junit</groupId>
   <artifactId>junit</artifactId>
   <version>4.8.1</version>
   <scope>test</scope>
  </dependency>
  <dependency>
   <groupId>net.sf.jt400</groupId>
   <artifactId>jt400</artifactId>
   <version>6.6</version>
   <scope>compile</scope>
  </dependency>

  <!-- Hibernate -->
  <dependency>
   <groupId>org.hibernate</groupId>
   <artifactId>hibernate-core</artifactId>
   <version>${org.hibernate-version}</version>
   <scope>compile</scope>
  </dependency>
  <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-entitymanager</artifactId>
            <version>${org.hibernate-version}</version>
            <scope>compile</scope>
        </dependency>

  <!-- AspectJ -->
  <dependency>
   <groupId>org.aspectj</groupId>
   <artifactId>aspectjrt</artifactId>
   <version>${org.aspectj-version}</version>
  </dependency>
  <dependency>
   <groupId>org.aspectj</groupId>
   <artifactId>aspectjtools</artifactId>
   <version>${org.aspectj-version}</version>
  </dependency>

  <dependency>
   <groupId>javax.servlet</groupId>
   <artifactId>com.springsource.javax.servlet</artifactId>
   <version>2.5.0</version>
   <scope>provided</scope>
  </dependency>
  <dependency>
   <groupId>javax.servlet</groupId>
   <artifactId>com.springsource.javax.servlet.jsp.jstl</artifactId>
   <version>1.2.0</version>
   <scope>provided</scope>
  </dependency>
  <!--
  <dependency>
   <groupId>javax.persistence</groupId>
   <artifactId>com.springsource.javax.persistence</artifactId>
   <version>1.0.0</version>
   <scope>compile</scope>
  </dependency>
  -->
  <dependency>
   <groupId>javax.transaction</groupId>
   <artifactId>com.springsource.javax.transaction</artifactId>
   <version>1.1.0</version>
   <scope>compile</scope>
  </dependency>
  <dependency>
   <groupId>org.slf4j</groupId>
   <artifactId>slf4j-api</artifactId>
   <version>1.5.6</version>
  </dependency>
  <dependency>
   <groupId>org.slf4j</groupId>
   <artifactId>com.springsource.slf4j.log4j</artifactId>
   <version>1.5.6</version>
  </dependency>
  <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-Java</artifactId>
            <version>5.1.11</version>
            <type>jar</type>
            <scope>compile</scope>
        </dependency>

 </dependencies>
 <repositories>
  <!-- Spring releases -->
  <repository>
   <id>com.springsource.repository.bundles.release</id>
   <name>Spring Maven Repository Repository</name>
   <url>http://repository.springsource.com/maven/bundles/release</url>
  </repository>
  <!-- For hibernate 3.6 support -->
  <repository>
   <id>jboss</id>
   <url>https://repository.jboss.org/nexus/content/groups/public/</url>
  </repository>
 </repositories>
 <build>
  <finalName>jackpot</finalName>
  <plugins>
   <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>Tomcat-maven-plugin</artifactId>
          <version>1.1</version>
          <configuration>
           <url>http://localhost:8080/manager</url>
          </configuration>
      </plugin>
   <plugin>
    <groupId>org.Apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>2.0.2</version>
    <configuration>
     <source>1.6</source>
     <target>1.6</target>
    </configuration>
   </plugin>
  </plugins>
 </build>
</project>

Ich habe versucht, die neueste Version von Maven herunterzuladen und sie in die Eclipse-Helios aufgenommen, aber immer noch dasselbe Problem. Die gleiche Fehlermeldung tritt auch dann auf, wenn ich sie in der Shell-Befehlszeile (außerhalb von Eclipse) ausführen.

Was vermisse ich?

100
bertie

Sieht aus, als würden Ihnen einige Maven-Repos fehlen. Fragen Sie nach dem .m2/settings.xml Ihres Freundes, und Sie möchten wahrscheinlich das POM aktualisieren, um die Repositorys dort aufzunehmen.

--edit: Versuchen Sie nach ein paar schnellen Versuchen, dies zu Ihrem POM hinzuzufügen:

<repository>
    <id>com.springsource.repository.bundles.release</id>
    <name>SpringSource Enterprise Bundle Repository - SpringSource Bundle Releases</name>
    <url>http://repository.springsource.com/maven/bundles/release</url>
</repository>
<repository>
    <id>com.springsource.repository.bundles.external</id>
    <name>SpringSource Enterprise Bundle Repository - External Bundle Releases</name>
    <url>http://repository.springsource.com/maven/bundles/external</url>
</repository>
73
wmorrell

Maven hat Ihre Dateien im Cache gespeichert und versucht nicht, sie herunterzuladen. Sie können ihm einfach manuell "helfen", indem Sie das .m2-Verzeichnis löschen, und unser Freund lädt dann alles über die alten Versionen herunter.

14
Chaibi Alaa

Als alternative Quelle für dasselbe Problem wird in dieser Antwort die Verwendung von Maven 3 gegenüber Maven 2 als mögliche Ursache für dieses Problem angegeben. Soweit ich das beurteilen kann, liegt dies an den Änderungen in der Auflösung des lokalen Repositorys , die in Maven 3 geändert wurden. Wenn Sie dies hier tun, falls jemand anderes darauf brennt und diese Antwort erreicht (wie ich).

7
shiri

Die artifactId für alle Abhängigkeiten, deren Download fehlgeschlagen ist, ist falsch - aus irgendeinem Grund wird ihnen com.springsource vorangestellt. Problem ausschneiden/einfügen

Sie können versuchen, sie wie folgt zu ersetzen.

        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jstl</artifactId>
            <version>1.2.0</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>servlet-api</artifactId>
            <version>2.5</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>javax.transaction</groupId>
            <artifactId>jta</artifactId>
            <version>1.1.0</version>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
            <version>1.5.6</version>
        </dependency>

Sie können auch das zentrale Repository für diese Artefakte hinzufügen, falls diese nicht in den angegebenen Repositorys verfügbar sind.

  <repository>
   <id>maven2</id>
   <url>http://repo1.maven.org/maven2</url>
  </repository>
4
Raghuram

Ich hatte ein ähnliches Problem und habe es behoben, indem ich die folgenden Repos in meine pom.xml eingefügt habe:

    <repository>
        <id>org.springframework.maven.release</id>
        <name>Spring Maven Release Repository</name>
        <url>http://repo.springsource.org/libs-release-local</url>
        <releases><enabled>true</enabled></releases>
        <snapshots><enabled>false</enabled></snapshots>
    </repository>
    <!-- For testing against latest Spring snapshots -->
    <repository>
        <id>org.springframework.maven.snapshot</id>
        <name>Spring Maven Snapshot Repository</name>
        <url>http://repo.springsource.org/libs-snapshot-local</url>
        <releases><enabled>false</enabled></releases>
        <snapshots><enabled>true</enabled></snapshots>
    </repository>
    <!-- For developing against latest Spring milestones -->
    <repository>
        <id>org.springframework.maven.milestone</id>
        <name>Spring Maven Milestone Repository</name>
        <url>http://repo.springsource.org/libs-milestone-local</url>
        <snapshots><enabled>false</enabled></snapshots>
    </repository>
3
AAgg

Ich habe eine ähnliche Nachricht und mein Problem bestand aus einigen Proxy-Einstellungen in meinen Einstellungen.xml .. Also habe ich sie deaktiviert und alles funktioniert gut.

1
kdoteu

Ich hatte dieses Problem. In meinem Fall wurde es durch IntelliJ Idea verursacht, die mit einigen der pom.xml-Dateien herumgespielt hat (was anscheinend Spaß macht!). Ich habe gerade auf die Originalkopie zurückgegriffen und die Dinge funktionierten wieder!

0
JonnyRaa

Laden Sie das Jar manuell herunter und führen Sie dann den Befehl aus dem Ordner aus, in dem das Jar gespeichert ist:

mvn install: Installationsdatei -Datei = Jar_Dateiname .Jar-DgroupId = Gruppen-ID -DartifactId = Artifact_id -Dversion = Version_NO -Dpackaging = Jar

Die JAR-Datei, jar_file_name, group_id, artifact_id und version_no sind auf der Maven-Repository-Seite verfügbar.

glückliche Codierung :)

0
Cjo

Ich habe das gleiche Problem wie Sie und es stellt sich heraus, dass dies auf die Firewall auf meinem Computer zurückzuführen ist. Schalten Sie die Firewall aus und versuchen Sie es erneut. Viel Glück !!!

0
Duc Thanh

Mein EAR-Projekt hatte 2 Module * .ear und * .war und ich habe diesen Abhängigkeitsfehler von *.war-Projekt erhalten, als ich mvn Eclipse:eclipse versuchte. Es wurde behoben, indem das Problem mit der Utf-8-Codierung im Projekt *.war behoben wurde. mvn-X oder -e-Optionen waren hier nicht hilfreich.

0
Barun

Diese Art von Problemen hat zwei Gründe:

  1. der Zauber einer Abhängigkeit ist falsch 
  2. die Konfiguration der mvn-Einstellung (dh. ~/.m2/settings.xml) ist falsch

Wenn die meisten Abhängigkeiten heruntergeladen werden können, kann der Grund 1 der wahrscheinlichste Fehler sein. Im Gegenteil, wenn die meisten Abhängigkeiten das Problem haben, sollten Sie settings.xml betrachten.

Nun, ich habe den ganzen Nachmittag versucht, mein Problem zu lösen, und endlich habe ich es verstanden. Mein Problem tritt in settings.xml auf, nicht die falsche oder falsche Schreibweise von settings.xml, sondern der Verlust von activeProfiles .

0
Will

Ich hatte auch dieses Problem. Es stellte sich heraus, dass NetBeans meiner pom.xml-Datei etwas hinzugefügt hat. Doppelte Überprüfung seit den erfolgreichen Implementierungen wurde nichts hinzugefügt.

0
Eduardo Dennis