0

Web サービスを作成し、API のドキュメントを生成したいと考えています。そこで、Enunciateが maven enunciate プラグインをダウンロードしたことを調べました。ただし、Web サービスの注釈は、POJO 自体ではなく POJO が実装するインターフェイス クラスにあるため、コンパイル時に以下のエラーが発生します。

POJO に注釈を追加して散らかしたくありません。  

    アーティファクト org.mortbay.jetty:maven-jetty-plugin: 中央からの更新の確認
[情報] [enunciate:docs {実行: デフォルト}]
[情報] enunciate を初期化しています。
[情報] enunciate:generate ステップを呼び出しています...
[警告] 検証結果にエラーがあります。
/Users/vkumar/IdeaProjects/identity-service/trunk/src/main/java/com/foobar/ids/service/IDService.java:17: [ジャージー] ジャージーはルート リソースとしてのインターフェイスをサポートしていません。
@Path パラメータを実装クラスに適用する必要があります。

パブリック インターフェイス IDService {
       ^
1 エラー
[情報]  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - - -------------------------


pom.xml スニペットはこちら

        <plugin>
          <groupId>org.codehaus.enunciate</groupId>
          <artifactId>maven-enunciate-plugin</artifactId>
          <!-- check for the latest version -->
          <version>1.20</version>
          <executions>
            <execution>
              <goals>
                <goal>docs</goal>
              </goals>
              <configuration>

                <!-- the directory where to put the docs -->
                <docsDir>${project.build}/docs </docsDir>

              </configuration>
            </execution>
          </executions>
        </plugin>
4

1 に答える 1

2

それがJerseyの限界です。実装クラスに注釈を付ける必要があります。

ただし、CXF には同じ要件がないため、Jersey 実装の代わりに JAX-RS の CXF 実装を使用することを検討してください。

    <plugin>
      <groupId>org.codehaus.enunciate</groupId>
      <artifactId>maven-enunciate-cxf-plugin</artifactId>
      <!-- check for the latest version -->
      <version>1.20</version>
      <executions>
        <execution>
          <goals>
            <goal>docs</goal>
          </goals>
          <configuration>

            <!-- the directory where to put the docs -->
            <docsDir>${project.build}/docs </docsDir>

          </configuration>
        </execution>
      </executions>
    </plugin>
于 2010-09-15T14:47:08.750 に答える