Ich versuche, ein Maven-Projekt zu kompilieren, erhalte jedoch systematisch die folgende Fehlermeldung:
[ERROR]Failed to execute goal on project ...:
Could not resolve dependencies for project ...:war:1.0.0:
The following artifacts could not be resolved: javax.jms:jms:jar:1.1,
com.sun.jdmk:jmxtools:jar:1.2.1, com.sun.jmx:jmxri:jar:1.2.1:
Failure to find javax.jms:jms:jar:1.1 in http://mirrors.ibiblio.org/maven2/
was cached in the local repository, resolution will not be reattempted until
the update interval of maven2-repository.ibiblio.mirror has elapsed or
updates are forced -> [Help 1]
Ich weiß über diesen Maven-Beitrag über Sun-Gläser Bescheid , aber er löst das Problem nicht.
Gibt es ein Repository, das ich in meinem angeben kann pom.xml
?
log4j:log4j:1.2.15
diese seltsamen Abhängigkeiten einbeziehen. Das Ausschließen von log4j aus der Zookeeper-Abhängigkeit und das Einfügen einer neueren Version von log4j selbst scheint dieses Problem ebenfalls zu lösen.Wenn jemand noch jms1.1 verwenden möchte, fügen Sie das öffentliche jboss-Repository hinzu, und maven findet es ...
Projekt-> Abhängigkeiten:
<dependencies> <dependency> <groupId>javax.jms</groupId> <artifactId>jms</artifactId> <version>1.1</version> </dependency>
Projekt-> Repositories:
<repositories> <repository> <id>repository.jboss.org-public</id> <name>JBoss.org Maven repository</name> <url>https://repository.jboss.org/nexus/content/groups/public</url> </repository>
Es klappt -
quelle
Log4 Version 1.2.17 behebt das Problem automatisch, da es von geronimo-jms abhängig ist. Ich habe das gleiche Problem mit der Version log4j-1.2.15.
Hinzugefügt mit mehr um das Problem
Die Verwendung von 1.2.17 löste das Problem während der Kompilierungszeit, aber der Server (Karaf) verwendete die Version 1.2.15, wodurch zur Laufzeit ein Konflikt entstand. Daher musste ich wieder auf 1.2.15 umsteigen.
Die JMS- und JMX-API waren zur Laufzeit für mich verfügbar, daher habe ich die J2ee-API nicht importiert.
Ich habe die Kompilierungszeitabhängigkeit von 1.2.17 verwendet, sie aber zur Laufzeit entfernt.
<dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version> </dependency> .... <build> <plugins> <plugin> <groupId>org.apache.felix</groupId> <artifactId>maven-bundle-plugin</artifactId> <extensions>true</extensions> <configuration> <instructions> <Bundle-SymbolicName>${project.groupId}.${project.artifactId}</Bundle-SymbolicName> <Import-Package>!org.apache.log4j.*,*</Import-Package> .....
quelle
Eine andere Lösung, wenn Sie Ihre Einstellungen nicht ändern möchten:
Laden Sie jms-1.1.jar aus dem JBoss-Repository herunter und folgen Sie dann:
mvn install:install-file -DgroupId=javax.jms -DartifactId=jms -Dversion=1.1 -Dpackaging=jar -Dfile=jms-1.1.jar
quelle
Versuchen Sie, Updates mit der
cpu
Option mvn zu erzwingen :usage: mvn [options] [<goal(s)>] [<phase(s)>] Options: -cpu,--check-plugin-updates Force upToDate check for any relevant registered plugins
quelle
Tatsächlich besteht die eigentliche Lösung für dieses Problem darin, das in Maven Central verfügbare Artefakt jms-api-1.1-rev-1.jar zu verwenden: http://search.maven.org/#artifactdetails%7Cjavax.jms%7Cjms-api% 7C1.1-rev-1% 7Cjar
quelle
Ich hatte auch das gleiche Problem, als ich anfing, die folgende Maven-Abhängigkeitsversion für log4j (1.2.15) in meinem Projekt zu verwenden.
<dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.15</version> </dependency>
Der folgende Fehler wurde auf mich geworfen.
Ich habe angefangen, die folgende log4j (1.2.17) -Version zu verwenden, und es hat mir geholfen, dieses Problem ohne konfigurationsbezogene Korrekturen zu lösen.
<dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version> </dependency>
quelle
Eine Überprüfung von
ibliblio
undjava.net
Repositories zeigen, dass jmx-bezogene JAR auch nicht vorhanden ist. Ich denke, Sie sollten jms manuell herunterladen und lokal installieren, wie hier beschrieben .quelle
Sie importieren eine Abhängigkeit, und diese Abhängigkeit ist abhängig von
com.sun.jmx:jmxri:jar:1.2.1
und anderen,com.sun.jmx:jmxri:jar:1.2.1
kann jedoch nicht im zentralen Repository gefunden werden.Versuchen Sie also besser, eine andere Version zu importieren.
Angenommen, Ihre Abhängigkeit lautet log4j, und Sie können versuchen, sie zu importieren
log4j:log4j:jar:1.2.13
.quelle
Möglicherweise nicht genau das gleiche Problem. aber es gibt einen schönen Artikel in der gleichen Zeile hier
quelle