JAXB генерирует недопустимый Javadoc — @link byte[]

#jaxb #javadoc

#jaxb #Javadoc

Вопрос:

Я использую maven-jaxb2-plugin для генерации классов JAXB из файла WSDL. К сожалению, автоматически сгенерированный Javadoc не совместим с Java 8, поскольку он генерирует следующие недопустимые ссылки:

 /**
 * Create an instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >}}
 * 
 */
@XmlElementDecl(namespace = "http://schemas.microsoft.com/2003/10/Serialization/", name = "base64Binary")
public JAXBElement<byte[]> createBase64Binary(byte[] value) {
    return new JAXBElement<byte[]>(_Base64Binary_QNAME, byte[].class, null, ((byte[]) value));
}
  

@link byte[] Ссылка завершается ошибкой как отсутствующая ссылка. К сожалению, я не знаю, генерируется ли это плагином maven или самим JAXB.

Я не хочу включать Javadoc linting для моего проекта. Буду признателен за любую помощь в том, как это исправить, не прибегая к добавлению элементов jxb: javadoc по всему моему WSDL. Спасибо

Комментарии:

1. maven-jaxb2-plugin вызывает только XJC, он сам по себе не генерирует никакого кода.

Ответ №1:

В моем случае ошибочные javadoc теги были в файле ObjectFactory.java , и я не использую ObjectFactory класс. Поэтому я изменил свой сценарий сборки, чтобы удалить файл после его создания и перед запуском javadoc .

Разрубить гордиев узел или использовать молоток, поскольку это был единственный инструмент, который у меня был? Решать вам.