我需要导入javax.jms.*
个类。包含在Maven项目中的正确依赖是什么?我正在尝试javax.jms:jms:1.1
,但没有运气(这是pom,而不是jar)。
PS。到目前为止,我发现的唯一解决方法是:javax:javaee-api:6.0
(来自Maven Central)。
答案 0 :(得分:42)
在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许可的依赖项。
答案 1 :(得分:14)
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-api</artifactId>
<version>6.0</version>
<scope>provided</scope>
</dependency>
答案 2 :(得分:13)
Sun许可证不允许maven存储库托管此(和其他)工件。
以下是解释此内容的文档以及您应该做的事情......
Maven - Guide to coping with Sun JARs
它说的是您需要手动下载JAR,然后将其安装到您自己的本地存储库或nexus服务器中。
maven central托管这些工件的pom.xml文件包含有关从何处下载JAR的信息。
答案 3 :(得分:7)
我已经成功使用了这个:
<dependency>
<groupId>javax.jms</groupId>
<artifactId>jms</artifactId>
<version>1.1</version>
</dependency>
答案 4 :(得分:3)
转到Maven Search site并搜索javax。打开groupId javax
和artifactId javaee-api
当前版本为7.0 [Maven dependency information]
答案 5 :(得分:2)
如果您只想要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>
答案 6 :(得分:1)
根据mvnrepository,在项目的pom中添加的依赖项如下:
<dependency>
<groupId>jms</groupId>
<artifactId>jms</artifactId>
<version>1.1</version>
</dependency>
答案 7 :(得分:1)
查看grepcode.com上列出的依赖项 我最近才发现这个网站,它摇滚!
http://grepcode.com/search/?query=javax.jms *
看起来maven central上的Geronimo罐子应该排除你的问题。
答案 8 :(得分:0)
这对我自己有用
<dependency>
<groupId>javax.jms</groupId>
<artifactId>javax.jms-api</artifactId>
<version>2.0.1</version>
</dependency>