Fehlendes Artefakt com.sun.jdmk: jmxtools: jar: 1.2.1
Habe ich erstellt, einfaches Projekt aus dem maven-achetype-quickstart unter Eclipse Indigo, dann ging ich zu pom.xml gui-editor und im Reiter Abhängigkeiten Hinzugefügt Abhängigkeit log4j
durch Suche in entsprechenden dialog. Nun meine pom.xml sieht aus wie
<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 xsd/maven-.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>mygroup</groupId>
<artifactId>Test_Maven_03</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>Test_Maven_03</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.15</version>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
</dependency>
</dependencies>
</dependencyManagement>
</project>
Eclipse sagt mein POM viele Probleme haben, wie
Fehlende Artefakt javax.jms:jms:jar:1.1 pom.xml /Test_Maven_03 Linie 2 Maven-Dependency Problem
Was bedeutet es und wie zu sehen, maven Funktion der automatischen jar herunterladen.
BEARBEITEN 1
Wenn ich wählen log4j 1.2.16 statt 1.2.15, bekomme ich eine andere Fehlermeldung: Missing artifact log4j:log4j:bundle:1.2.16
. Also ich sehe keine automatische jar-management.
libraryDependencies += "log4j" % "log4j" % "1.2.15" exclude("javax.jms", "jms")
InformationsquelleAutor der Frage Suzan Cioc | 2012-01-28
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es ist nicht mehr inklusive lizenzrechtlichen wenn ich mich richtig erinnere. Wenn Sie nicht brauchen, jms-Funktionalität können Sie ausschließen, jms von log4j dependency:
InformationsquelleAutor der Antwort Sbhklr
Ändern Sie die version von log4j zu 1.2.16.
Die Metadaten für die 1.2.15 ist schlecht, da Sie entdeckt haben, weil die Abhängigkeiten fehlen, aus dem zentralen repository. Es gibt jedoch einen Grundsatz nicht ändern Artefakte oder Metadaten im zentralen maven-repository, da dies kann dazu führen, baut sein unwiederholbar. Das ist ein build könnte sich anders Verhalten, wenn ein Artefakt oder deren Metadaten geändert.
Die Argumentation ist, dass es besser ist, Arbeit rund um bad Metadaten als Ursache unreproducible baut.
Ist es natürlich besser, wenn der Projekt maintainer sind mehr vorsichtig sein, über die Metadaten, die Sie hochladen, zu zentralen.
InformationsquelleAutor der Antwort Martin Ellis
Verwenden Log4J 1.2.16 (die, die ich verlinkt in Ihre frühere Frage); es sind nicht die älteren JMX-Abhängigkeit und bekommt es von Geronimo statt.
InformationsquelleAutor der Antwort Dave Newton
Den oben genannten Antworten (ohne JMX) sind in Ordnung, so lange, wie Sie nicht brauchen, alle von der JMX-Abhängigkeiten. Jedoch, Sie werden nie in der Lage, laden Sie die JMX-Abhängigkeiten' .jar-Dateien von einem standard-maven-repository. Zitat Jörg Schaible-3 an nabble.com:
Deshalb, wenn Sie verwenden möchten, JMX, müssen Sie zum herunterladen der jeweiligen jmx zip-Ordner aus Oracle ' s website.
InformationsquelleAutor der Antwort gladclef