web-dev-qa-db-fra.com

Quelle est la bonne dépendance Maven pour les classes javax.jms. *?

J'ai besoin d'importer des classes javax.jms.*. Quelle est la bonne dépendance à inclure dans un projet Maven? J'essaie javax.jms:jms:1.1, mais pas de chance (c'est pom, pas jar).

ps. La seule solution de contournement que j'ai trouvée jusqu'à présent est la suivante: javax:javaee-api:6.0 (de Maven Central).

44
yegor256

Dans ActiveMQ ainsi que dans d’autres projets tels que Qpid JMS, nous extrayons les classes de spécification JMS des fichiers JAR d’Apache Geronimo. Les API 1.1 sont disponibles dans cette dépendance:

  <dependency>
    <groupId>org.Apache.geronimo.specs</groupId>
    <artifactId>geronimo-jms_1.1_spec</artifactId>
    <version>1.1.1</version>
  </dependency>

Pour les API JMS 2, vous devez utiliser une dépendance différente, par exemple 

  <dependency>
    <groupId>org.Apache.geronimo.specs</groupId>
    <artifactId>geronimo-jms_2.0_spec</artifactId>
    <version>1.0-alpha-2</version>
  </dependency>

Ce sont deux dépendances sous licence Apache 2.0.

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

La licence Sun n'autorise pas les référentiels maven à héberger cet artefact (et d'autres).

Voici la documentation expliquant cela et ce que vous devriez faire à la place ...

Maven - Guide de gestion des fichiers JAR Sun

Cela dit, vous devez télécharger le fichier JAR manuellement, puis l’installer dans votre propre référentiel local ou serveur Nexus.

Les fichiers pom.xml hébergés sur maven central pour ces artefacts contiennent des informations sur l'emplacement de téléchargement des fichiers JAR.

11
Jesse Webb

J'ai utilisé avec succès celui-ci:

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

Allez sur Site de recherche Maven et recherchez javax. Ouvrez la dernière version pour groupId javax et artifactId javaee-api

La version actuelle est la 7.0 [ Informations de dépendance Maven ]

3
gsndev

Si vous voulez juste les bibliothèques JMS, sans le reste de javaee, utilisez ce qui suit:

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

Découvrez les dépendances répertoriées sur grepcode.com.
Ce site n’a été découvert que récemment, et il est génial!

http://grepcode.com/search/?query=javax.jms . *

Il semble que les pots Geronimo sur Maven Central devraient régler vos problèmes.

1
crowne

Selon mvnrepository, la dépendance à ajouter dans le pom de votre projet est la suivante:

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

Cela a fonctionné pour moi

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