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 erstellen.
Wenn Sie mvn dependency: tree, dependency: list oder das übliche Build-Paket ausführen, wird derselbe Fehler ausgegeben.
Der Fehler beim Ausführen des 'Paket'-Builds 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
:
<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>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 aufzunehmen, aber immer noch das gleiche Problem. Die gleiche Fehlermeldung tritt auch dann auf, wenn ich sie in der Shell-Befehlszeile (außerhalb von Eclipse) ausführe.
Was vermisse ich?
Antworten:
Sieht so aus, als ob Ihnen einige Maven-Repos fehlen. Fragen Sie nach dem Ihres Freundes
.m2/settings.xml
, und Sie möchten wahrscheinlich das POM aktualisieren, um die dortigen Repositorys einzuschließen.--edit: Versuchen Sie nach einigem schnellen Googeln, dies Ihrem POM hinzuzufügen:
quelle
.m2/settings.xml
kann Repository-Listen außerhalb der Standardlisten unter angebenrepo.maven.apache.org
. In diesem Fall stammen die JARs aus einem SpringSource-Repository und befinden sich nicht in Maven Central. Ich hatte angenommen, dass der Freund die SpringSource-Repos lokal aufgelistet hatte.m2/settings.xml
, was keine Suchfehler verursachte, da die Artefakte in alternativen Maven-Repos gefunden würden. Stattdessen wurden die JARs zwischengespeichert, und es wurden überhaupt keine Suchvorgänge durchgeführt.Maven hat Ihre Dateien im Cache gespeichert und versucht nicht, sie erneut herunterzuladen. Sie können ihm einfach manuell "helfen", indem Sie das .m2-Verzeichnis löschen. Dann lädt unser Freund alles über die alten Abhängigkeiten herunter.
quelle
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 genannt. Soweit ich das beurteilen kann, ist dies auf Änderungen in der Auflösung des lokalen Repositorys zurückzuführen , die in Maven 3 geändert wurden.
quelle
Die
artifactId
für alle Abhängigkeiten, die nicht heruntergeladen werden konnten, sind falsch - aus irgendeinem Grund wird ihnen ein Präfix vorangestelltcom.springsource
. Problem beim Ausschneiden / Einfügen?Sie können versuchen, sie wie folgt zu ersetzen.
Möglicherweise möchten Sie auch das zentrale Maven-Repository für diese Artefakte hinzufügen, falls sie in den angegebenen Repositorys nicht verfügbar sind.
quelle
Laden Sie das Glas manuell herunter und führen Sie den Befehl aus dem Ordner aus, in dem das Glas gespeichert ist:
Die
jar file
,jar_file_name
,group_id
,artifact_id
undversion_no
sind von der Maven - Repository - Seite zur Verfügung.quelle
Ich hatte ein ähnliches Problem und habe es behoben, indem ich die folgenden Repos in meine pom.xml eingefügt habe:
quelle
Mein Problem gelöst. Da die Repos zwischengespeichert wurden, musste ich sie erzwingen, um die neueste Version zu erhalten.
quelle
Ich habe eine ähnliche Meldung und mein Problem waren einige Proxy-Einstellungen in meiner settings.xml. Also habe ich sie deaktiviert und alles funktioniert gut.
quelle
Diese Art von Problemen wird aus zwei Gründen verursacht:
Wenn die meisten Abhängigkeiten heruntergeladen werden können, ist der Grund 1 möglicherweise der wahrscheinlichste Fehler. Im Gegenteil, wenn die meisten Abhängigkeiten das Problem haben, sollten Sie sich settings.xml ansehen .
Nun, ich habe den ganzen Nachmittag versucht, mein Problem zu beheben, und schließlich habe ich es bekommen. Mein Problem tritt in settings.xml auf, nicht in der verlorenen oder falschen Schreibweise von settings.xml , sondern im Verlust von activeProfiles .
quelle
Ich hatte dieses Problem. In meinem Fall wurde es durch IntelliJ Idea verursacht, das mit einigen der pom.xml-Dateien herumgespielt hat (was es anscheinend Spaß macht!). Ich bin gerade zur Originalkopie zurückgekehrt und es hat wieder funktioniert!
quelle
Ich hatte auch dieses Problem, es stellte sich heraus, dass NetBeans meiner Datei pom.xml etwas hinzufügte. Überprüfen Sie, ob seit früheren erfolgreichen Bereitstellungen nichts hinzugefügt wurde.
quelle
Mein EAR-Projekt hatte 2 Module * .ear und * .war und ich habe
*.war
beim Versuch diesen Abhängigkeitsfehler vom Projekt erhaltenmvn eclipse:eclipse
. Es wurde behoben, indem das Problem mit der utf-8-Codierung im*.war
Projekt behoben wurde .mvn
-X
oder-e
Optionen waren hier nicht hilfreich.quelle
Es stellt sich heraus, dass es aufgrund der Firewall auf meinem Computer passiert ist. Das Ausschalten hat bei mir funktioniert.
quelle
Bin auf ein solches Problem gestoßen. Die Hauptursache ist der Ordner .m2. Sie müssen sicherstellen, dass alles, auf das Sie zugreifen möchten, in Ihrem .m2-Ordner vorhanden ist (dies ist Ihr lokales Repo). Wenn das Zeug da ist, bist du gut. Dies ist normalerweise im Benutzerordner Ihres Systems vorhanden (sei es Mac / Linux oder sogar Windows).
quelle