Sonntag, April 5, 2020

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.

Kommentar zu dem Problem
SBT-Benutzer: libraryDependencies += "log4j" % "log4j" % "1.2.15" exclude("javax.jms", "jms") Kommentarautor: opyate

InformationsquelleAutor der Frage Suzan Cioc | 2012-01-28

4 Kommentare

  1. 93

    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:

    <dependency>
    <groupId>log4j</groupId>
    <artifactId>log4j</artifactId>
    <version>1.2.15</version>
    <exclusions>
        <exclusion>
            <groupId>com.sun.jmx</groupId>
            <artifactId>jmxri</artifactId>
        </exclusion>
        <exclusion>
            <groupId>com.sun.jdmk</groupId>
            <artifactId>jmxtools</artifactId>
        </exclusion>
        <exclusion>
                <groupId>javax.jms</groupId>
                <artifactId>jms</artifactId>
        </exclusion>
    </exclusions>
    </dependency>

    InformationsquelleAutor der Antwort Sbhklr

  2. 37

    Ä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

  3. 1

    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:

    Dies ist normal und wird es bleiben so, weil Sun/Oracle nicht gewährt
    Vertriebsrechte für diese Artefakte als separate downloads. Sie haben
    herunterladen von Oracle -, Annahme Ihrer Lizenz, und fügen Sie Sie ein
    lokalen repository-manager.

    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

Kostenlose Online-Tests