インポートする必要があるjavax.jms.*
クラス。 Mavenプロジェクトに含める正しい依存関係は何ですか?私はしようとしています javax.jms:jms:1.1
、しかし運はありません(jarではなくpomです)。
追伸私がこれまでに見つけた唯一の回避策は次のとおりです:javax:javaee-api:6.0
(Maven Centralから)。
ActiveMQおよびQpid JMSのような他のプロジェクトでは、Apache Geronimo JARからJMS仕様クラスを取得します。1.1APIはこの依存関係で利用できます。
<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ライセンスの依存関係です。
Sunライセンスでは、Mavenリポジトリがこの(およびその他の)アーティファクトをホストすることは許可されていません。
これを説明し、代わりに何をすべきかを説明するドキュメントがあります...
つまり、JARを手動でダウンロードしてから、独自のローカルリポジトリまたはnexusサーバーにインストールする必要があるということです。
これらのアーティファクトのMavenでホストされるpom.xmlファイルには、JARのダウンロード元に関する情報が含まれています。
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-api</artifactId>
<version>6.0</version>
<scope>provided</scope>
</dependency>
私はこれを正常に使用しました:
<dependency>
<groupId>javax.jms</groupId>
<artifactId>jms</artifactId>
<version>1.1</version>
</dependency>
Maven Search site に移動し、javaxを検索します。 groupId javax
およびartifactId javaee-api
の最新バージョンを開きます
現在のバージョンは7.0です[ Maven依存情報 ]
残りのjavaeeなしでJMSライブラリだけが必要な場合は、次を使用します。
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>
Grepcode.comにリストされている依存関係を確認してください。
このサイトは最近発見したばかりで、揺れ動きます!
http://grepcode.com/search/?query=javax.jms 。*
Maven CentralのGeronimo jarが問題を解決するようです。
Mvnrepositoryによると、プロジェクトのPOMに追加する依存関係は次のとおりです。
<dependency>
<groupId>jms</groupId>
<artifactId>jms</artifactId>
<version>1.1</version>
</dependency>
これは私のために働いた
<dependency>
<groupId>javax.jms</groupId>
<artifactId>javax.jms-api</artifactId>
<version>2.0.1</version>
</dependency>