javax.jms.* 类的正确 Maven 依赖项是什么?

问题描述 投票:0回答:9

我需要导入

javax.jms.*
类。包含到 Maven 项目中的正确依赖项是什么?我正在尝试
javax.jms:jms:1.1
,但没有成功(是 pom,不是 jar)。

ps。到目前为止我发现的唯一解决方法是:

javax:javaee-api:6.0
(来自 Maven Central)。

java maven jms
9个回答
49
投票

在 ActiveMQ 以及 Qpid JMS 等其他一些项目中,我们从 Apache Geronimo JAR 中引入 JMS 规范类,1.1 API 在此依赖项中可用:

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

例如,对于 JMS 2 API,您需要使用不同的依赖项

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

这些都是 Apache 2.0 许可的依赖项。

现在事情已经转移到 JMS 规范的 Jakarta API 版本,JMS API jar 的选项也发生了变化。

可以在此处找到与旧版 JMS 2.0 API 兼容的基本 Jakarta JMS 2.0 API。

<dependency>
   <groupId>jakarta.jms</groupId>
   <artifactId>jakarta.jms-api</artifactId>
   <version>2.0.3</version>
</dependency>

可以从这里引入 3.x 系列中的新 Jakarta Messaging API,ActiveMQ 6.0+ 代理已迁移到 Jakarta:

<dependency>
    <groupId>jakarta.jms</groupId>
    <artifactId>jakarta.jms-api</artifactId>
    <version>3.1.0</version>
</dependency>

正如其他人指出的那样,这里还有一个未经 Apache 许可的选项。

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

16
投票

Sun 许可证不允许 Maven 存储库托管此(和其他)工件。

这是解释这一点以及您应该做什么的文档...

Maven - 处理 Sun JAR 的指南

它的意思是您需要手动下载 JAR,然后将其安装到您自己的本地存储库或 Nexus 服务器中。

这些工件托管在 Maven 中心的 pom.xml 文件包含有关从何处下载 JAR 的信息。


16
投票
   <dependency>
      <groupId>javax</groupId>
      <artifactId>javaee-api</artifactId>
      <version>6.0</version>
      <scope>provided</scope>
    </dependency>

7
投票

我已经成功使用了这个:

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

3
投票

转到 Maven 搜索站点并搜索 javax。打开groupId

javax
和artifactId
javaee-api

的最新版本

当前版本为7.0【Maven依赖信息


3
投票

如果您只需要 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
投票

根据mvnrepository,在项目的pom中添加的依赖如下:

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

1
投票

查看 grepcode.com 上列出的依赖项。
我最近才发现这个网站,它很震撼!

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

看起来 Maven Central 上的 Geronimo jar 应该可以解决您的问题。


0
投票

这对我自己有用

    <dependency>
        <groupId>javax.jms</groupId>
        <artifactId>javax.jms-api</artifactId>
        <version>2.0.1</version>
    </dependency>
© www.soinside.com 2019 - 2024. All rights reserved.