Ich muss javax.jms.*
Klassen importieren. Was ist die richtige Abhängigkeit, um in ein Maven-Projekt aufgenommen zu werden? Ich versuche javax.jms:jms:1.1
, aber kein Glück (es ist Pom, nicht Glas).
ps. Die einzige Problemumgehung, die ich bisher gefunden habe, ist: javax:javaee-api:6.0
(von Maven Central).
In ActiveMQ und einigen anderen Projekten wie Qpid JMS beziehen wir die JMS-Spezifikationsklassen von Apache Geronimo-JARs. Die 1.1-APIs sind in dieser Abhängigkeit verfügbar:
<dependency>
<groupId>org.Apache.geronimo.specs</groupId>
<artifactId>geronimo-jms_1.1_spec</artifactId>
<version>1.1.1</version>
</dependency>
Für JMS 2-APIs müssen Sie beispielsweise eine andere Abhängigkeit verwenden
<dependency>
<groupId>org.Apache.geronimo.specs</groupId>
<artifactId>geronimo-jms_2.0_spec</artifactId>
<version>1.0-alpha-2</version>
</dependency>
Dies sind beide lizenzierte Abhängigkeiten von Apache 2.0.
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-api</artifactId>
<version>6.0</version>
<scope>provided</scope>
</dependency>
Die Sun-Lizenz erlaubt keine Maven-Repositories zum Hosten dieser (und anderer) Artefakte.
Hier ist die Dokumentation, die dies erklärt und was Sie stattdessen tun sollten ...
Maven - Anleitung zum Umgang mit Sun-JARs
Es heißt, Sie müssen die JAR manuell herunterladen und dann in Ihrem eigenen lokalen Repository oder Nexus-Server installieren.
Die in maven central für diese Artefakte gehosteten pom.xml-Dateien enthalten Informationen darüber, wo Sie die JARs herunterladen können.
Ich habe dieses erfolgreich verwendet:
<dependency>
<groupId>javax.jms</groupId>
<artifactId>jms</artifactId>
<version>1.1</version>
</dependency>
Gehe zu Maven Search Site und suche nach Javax. Öffnen Sie die neueste Version für groupId javax
und artifactId javaee-api
.
Die aktuelle Version ist 7.0 [ Maven-Abhängigkeitsinformationen ]
Wenn Sie nur die JMS-Bibliotheken ohne den Rest von Javaee möchten, verwenden Sie Folgendes:
https://mvnrepository.com/artifact/javax.jms/javax.jms-api/2.0.1
<dependency>
<groupId>javax.jms</groupId>
<artifactId>javax.jms-api</artifactId>
<version>2.0.1</version>
</dependency>
Schauen Sie sich die auf grepcode.com aufgeführten Abhängigkeiten an.
Ich habe diese Seite erst kürzlich entdeckt und sie rockt!
http://grepcode.com/search/?query=javax.jms . *
Es sieht so aus, als sollten die Geronimo-Krüge in Maven Central Ihre Probleme lösen.
Laut mvnrepository muss im Pom Ihres Projekts Folgendes hinzugefügt werden:
<dependency>
<groupId>jms</groupId>
<artifactId>jms</artifactId>
<version>1.1</version>
</dependency>
Das hat für mich funktioniert
<dependency>
<groupId>javax.jms</groupId>
<artifactId>javax.jms-api</artifactId>
<version>2.0.1</version>
</dependency>