我回答我的問題和大家分享我的經驗教訓。
定義WadlGeneratorConfig的子類, 您可以在其中定義不執行任何操作的WadlGenerator語法。
package com.try1234;
import java.util.List;
import com.sun.jersey.api.wadl.config.WadlGeneratorConfig;
import com.sun.jersey.api.wadl.config.WadlGeneratorDescription;
import com.sun.jersey.server.wadl.generators.WadlGeneratorGrammarsSupport;
public class PlughWadlGeneratorConfig extends WadlGeneratorConfig
{
@Override
public List<WadlGeneratorDescription> configure()
{
return
generator(WadlGeneratorGrammarsSupport.class)
.prop("grammarsStream", "application-grammars.xml")
.prop("overrideGrammars", true)
.descriptions();
}
}
定義一個空的應用grammars.xml
<grammars xmlns="http://wadl.dev.java.net/2009/02"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xi="http://www.w3.org/1999/XML/xinclude">
</grammars>
確保它是在類路徑的Web應用程序,例如,在一個Maven風格的目錄結構,文件駐留在目標/班。
修改您的web.xml以使用WadlGeneratorConfig的子類。添加這些行:
<init-param>
<param-name>com.sun.jersey.config.property.WadlGeneratorConfig</param-name>
<param-value>com.try1234.PlughWadlGeneratorConfig</param-value>
</init-param>
加載Web應用程序,在此URL以下GET應該工作:
https://localhost/plugh/application.wadl
該解決方案適用於新澤西州1.18。
注意:空語法元素的基本原理是 我遇到https://java.net/jira/browse/JAXB-411;通過不生產任何,我能夠避免IllegalArgumentException。
參考文獻: http://razvancaraghin.blogspot.com/2014/01/html-documentation-for-your-rest.html
Troubles with WADL/generated XSD using Jersey with a contract-first approach