Java File REST serviceをパラメーターとして記述し、そこからwadlファイルを生成するツールはありますか?.
同じ問題がありました。RESTeasyを使用していて、WADLを自動的に生成する方法を見つけたいと思っていました。
いくつかの調査を行い、以下の解決策に到達しました。
pom.xml
に追加します。<build>
<plugins>
<plugin>
<groupId>com.Sun.jersey.contribs</groupId>
<artifactId>maven-wadl-plugin</artifactId>
<version>1.17</version>
<executions>
<execution>
<id>generate</id>
<goals>
<goal>generate</goal>
</goals>
<phase>${javadoc-phase}</phase>
</execution>
</executions>
<configuration>
<wadlFile>${project.build.outputDirectory}/application.wadl
</wadlFile>
<formatWadlFile>true</formatWadlFile>
<baseUri>http://example.com:8080/rest</baseUri>
<packagesResourceConfig>
<param>com.example.rs.resource</param>
</packagesResourceConfig>
<wadlGenerators>
<wadlGeneratorDescription>
<className>com.Sun.jersey.server.wadl.generators.WadlGeneratorApplicationDoc
</className>
<properties>
<property>
<name>applicationDocsFile</name>
<value>${basedir}/src/main/doc/application-doc.xml</value>
</property>
</properties>
</wadlGeneratorDescription>
<wadlGeneratorDescription>
<className>com.Sun.jersey.server.wadl.generators.WadlGeneratorGrammarsSupport
</className>
<properties>
<property>
<name>grammarsFile</name>
<value>${basedir}/src/main/doc/application-grammars.xml</value>
</property>
</properties>
</wadlGeneratorDescription>
</wadlGenerators>
</configuration>
</plugin>
</plugins>
</build>
buildUri
要素とpackagesResourceConfig
要素に注意してください。プロジェクトの構成を反映するように変更する必要があります。プラグインのバージョンを変更することもできます(私は1.17を使用しました)。
src/main/doc/
フォルダーを作成し、以下の2つのファイルを作成します。
ファイル:application-doc.xml
コンテンツ:
<?xml version="1.0" encoding="UTF-8"?>
<applicationDocs targetNamespace="http://wadl.dev.Java.net/2009/02">
<doc xml:lang="en" title="A message in the WADL">This is added to the start of the generated application.wadl</doc>
</applicationDocs>
ファイル:application-grammars.xml
コンテンツ:
<?xml version="1.0" encoding="UTF-8" ?>
<grammars xmlns="http://wadl.dev.Java.net/2009/02" />
プロジェクトフォルダに移動し、次のコマンドを実行します。
$ mvn compile com.Sun.jersey.contribs:maven-wadl-plugin:generate
ファイル\target\classes\application.wadl
(WADL自体)および\target\classes\xsd0.xsd
(リソースのスキーマ-application.wadlによって使用されます)を生成する必要があります。
必要に応じて編集して使用してください。
PS:これはmaven-wadl-pluginの非常に単純な使用法であることに注意してください。それはもっとたくさんのことができます。それをよりよく知るために、他の回答(Pavel Bucekによる)に記載されているZipファイルを参照してください。
はい、Jerseyサンプルのgerenate-wadl [1]サンプルを参照してください(maven-wadl-pluginを探してください)。