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).
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.
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-api</artifactId>
<version>6.0</version>
<scope>provided</scope>
</dependency>
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.
J'ai utilisé avec succès celui-ci:
<dependency>
<groupId>javax.jms</groupId>
<artifactId>jms</artifactId>
<version>1.1</version>
</dependency>
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 ]
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>
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.
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>
Cela a fonctionné pour moi
<dependency>
<groupId>javax.jms</groupId>
<artifactId>javax.jms-api</artifactId>
<version>2.0.1</version>
</dependency>