私はJavaのいくつかの概念に頭を悩ませようとしています:
- JSR: 仕様を記述しますが、実際の実装はありません。たとえば、http: //jsr311.java.net/は「Java™ API for RESTful Web Services」の「ホーム」です。これは、JSR-311 のすべての実装に共通のリファレンスとして機能します。
- http://mvnrepository.com/artifact/javax.ws.rs/jsr311-apiから JSR-311 のインターフェース (?) をダウンロードできますが、自分で JSR-311 を実装しない限り、これらには特に価値はありません。
- JSR には、通常/常に参照実装があります。それを見つけるには、「JSR XXX リファレンス実装」をグーグルで検索するか、仕様のホームページ (例: http://jsr311.java.net/ )を参照する必要があります。
- JSR-311 の場合、この参照実装はJerseyです。Maven を使用すると、http://mvnrepository.com/artifact/com.sun.jersey/jersey-server/1.9からジャージー サーバーを取得できます。Jersey はhttp://mvnrepository.com/artifact/javax.ws.rs/jsr311-apiにあるインターフェースに従って実装を提供するため、jsr311-api 自体ではなく、Jersey をプロジェクトに依存関係として追加するだけで済みます。 . (これはすべての JSR テクノロジに適用されますか?)
- プロジェクトの依存関係としてhttp://mvnrepository.com/artifact/javax.ws.rs/jsr311-apiとhttp://mvnrepository.com/artifact/com.sun.jersey/jersey-server/1.9の両方を配置すると、おそらくクラスパスの問題を引き起こしますか?
私は完全にオフですか、それとも何かに取り組んでいますか?