Я ответить на свой собственный вопрос, чтобы поделиться тем, что я узнал.
Определите подкласс 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>
Убедитесь, что он находится на пути к классам для веб-приложение, например, в структуре каталогов в 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>
Загрузите веб-приложение, следующий GET по этому URL должен работать:
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