2012-02-28 123 views

回答

17

我有同樣的問題:使用RestEasy的,想找到一個方法來自動生成WADL。

做了一些研究,並提出了下面的解決方案。

1.添加到您的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> 

,請注意buildUripackagesResourceConfig元素。你必須改變它們以反映你的項目配置。您可能還想更改插件的版本(我使用了1.17)。

2.創建一個/ doc文件夾並添加一些文件。

創建src/main/doc/文件夾並在下面創建兩個文件。

文件:應用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> 

文件:應用grammars.xml

內容:

<?xml version="1.0" encoding="UTF-8" ?> 
<grammars xmlns="http://wadl.dev.java.net/2009/02" /> 

3。跑maven命令。

轉到項目文件夾,然後運行以下命令:

$ 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的一個非常簡單的用法。它可以做更多。要更好地瞭解它,請參閱另一個答案中提到的zip文件(Pavel Bucek)。

+0

文檔真的很缺乏。 'packagesResourceConfig'是否應該放在具有實際端點的類的位置? – jiggy 2014-03-06 17:39:46

+0

@jiggy'packagesResourceConfig'是你的資源(服務)類所在的java包。 – acdcjunior 2014-05-06 17:41:20

+0

xsd如何生成?沒有產生。 – Grayson 2016-10-04 16:06:14