web-dev-qa-db-de.com

Was ist die richtige Maven-Abhängigkeit für javax.jms. * -Klassen?

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).

44
yegor256

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.

41
Tim Bish
   <dependency>
      <groupId>javax</groupId>
      <artifactId>javaee-api</artifactId>
      <version>6.0</version>
      <scope>provided</scope>
    </dependency>
14
awareness

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.

11
Jesse Webb

Ich habe dieses erfolgreich verwendet:

<dependency>
    <groupId>javax.jms</groupId>
    <artifactId>jms</artifactId>
    <version>1.1</version>
</dependency>
7
Bozho

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 ]

3
gsndev

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>
2
jase

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.

1
crowne

Laut mvnrepository muss im Pom Ihres Projekts Folgendes hinzugefügt werden:

<dependency>
  <groupId>jms</groupId>
  <artifactId>jms</artifactId>
  <version>1.1</version>
</dependency>
1
talnicolas

Das hat für mich funktioniert

    <dependency>
        <groupId>javax.jms</groupId>
        <artifactId>javax.jms-api</artifactId>
        <version>2.0.1</version>
    </dependency>
0
C McShane