Какова правильная зависимость Maven для классов javax.jms. *? - PullRequest
48 голосов
/ 13 июня 2011

Мне нужно импортировать javax.jms.* классов.Какую зависимость нужно включить в проект Maven?Я пытаюсь javax.jms:jms:1.1, но не повезло (это пом, а не банка).

пс.Единственный обходной путь, который я нашел до сих пор: javax:javaee-api:6.0 (из Maven Central).

Ответы [ 9 ]

43 голосов
/ 14 июня 2011

В ActiveMQ, а также в некоторых других проектах, таких как Qpid JMS, мы извлекаем классы спецификаций JMS из JAR-файлов Apache Geronimo, в этой зависимости доступны API 1.1:

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

Для API JMS 2 вы 'Мне нужно использовать другую зависимость, например

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

Это обе лицензионные зависимости Apache 2.0.

14 голосов
/ 26 июня 2012
   <dependency>
      <groupId>javax</groupId>
      <artifactId>javaee-api</artifactId>
      <version>6.0</version>
      <scope>provided</scope>
    </dependency>
14 голосов
/ 13 июня 2011

Лицензия Sun не позволяет репозиториям Maven размещать эти (и другие) артефакты.

Вот документация, объясняющая это и что вы должны сделать вместо этого ...

Maven - Руководство по работе с Sun JAR

Это говорит о том, что вам нужно загрузить JAR вручную, а затем установить его в свой собственный локальный репозиторий или сервер Nexus.

Файлы pom.xml, размещенные в maven central для этих артефактов, содержат информацию о том, откуда можно загрузить JAR-файлы.

7 голосов
/ 13 июня 2011

Я успешно использовал это:

<dependency>
    <groupId>javax.jms</groupId>
    <artifactId>jms</artifactId>
    <version>1.1</version>
</dependency>
3 голосов
/ 24 декабря 2013

Перейдите на Maven. Поиск по сайту и поиск javax.Откройте последнюю версию для groupId javax и artifactId javaee-api

Текущая версия 7.0 [ Информация о зависимостях Maven ]

2 голосов
/ 18 февраля 2017

Если вы просто хотите, чтобы JMS-библиотеки без остальной части javaee, использовали следующее:

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>
1 голос
/ 14 июня 2011

Проверьте зависимости, перечисленные на grepcode.com.
Я только недавно обнаружил этот сайт, и он потрясающий!

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

Похоже, что фляги Geronimo на maven central должны решить ваши проблемы.

1 голос
/ 13 июня 2011

Согласно mvnrepository, зависимость для добавления в pom вашего проекта следующая:

<dependency>
  <groupId>jms</groupId>
  <artifactId>jms</artifactId>
  <version>1.1</version>
</dependency>
0 голосов
/ 12 января 2018

Это сработало для меня

    <dependency>
        <groupId>javax.jms</groupId>
        <artifactId>javax.jms-api</artifactId>
        <version>2.0.1</version>
    </dependency>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...