Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/339.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用JavaBean验证注释从POJO生成文档_Java_Javadoc_Bean Validation - Fatal编程技术网

使用JavaBean验证注释从POJO生成文档

使用JavaBean验证注释从POJO生成文档,java,javadoc,bean-validation,Java,Javadoc,Bean Validation,我们有使用JAXB从XSD生成的现有bean。 有很多(实际上)XSD文件,所以编译这部分需要一些时间。我们有一个定制的Maven插件,它通过读取XSD生成所有bean的HTML目录 我们希望摆脱JAXB,因为XSD中的文档没有保存在生成的bean中,并且一些用XML表示的约束没有正确地转换为Java,或者执行得不够强 我们希望使用JavaBean验证注释(必要时使用自定义注释) 您知道现有的插件/库/任何可以将现有Javadoc注释与JavaBean验证注释生成的文档合并的东西吗 import

我们有使用JAXB从XSD生成的现有bean。 有很多(实际上)XSD文件,所以编译这部分需要一些时间。我们有一个定制的Maven插件,它通过读取XSD生成所有bean的HTML目录

我们希望摆脱JAXB,因为XSD中的文档没有保存在生成的bean中,并且一些用XML表示的约束没有正确地转换为Java,或者执行得不够强

我们希望使用JavaBean验证注释(必要时使用自定义注释)

您知道现有的插件/库/任何可以将现有Javadoc注释与JavaBean验证注释生成的文档合并的东西吗

import lombok.Getter;
import lombok.Setter;

import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;

/**
 * Documentation...
 */
@Getter
@Setter
public class Bean {

    /**
     * Documentation with javadoc annotations
     */
    @NotNull
    @Size(min = 3, max = 20)
    private String message;

}
例如,对于message属性,文档如下所示:

带有javadoc注释的文档
“消息”不应为空。
“消息”大小必须介于3到20个字符之间


您应该尝试使用JAutoDoc插件来生成Javadoc(eclipse、STS等等)。它可以选择生成:替换现有、完成现有、保持现有。除此之外,您还可以定制各种选择。
链接市场:

Bean验证约束注释已经是生成的JavaDoc的一部分(或者任何用
@Documented
进行元注释的注释)。如果这还不够,你可以考虑编写一个自定义的DePoT,它添加了那个约束元数据的文本表示。

BTW.在Hibernate论坛上有人说他正在沿着这条线写一个小册子。我不确定他是否发表过他的作品,我只是在论坛上再次提问。似乎@Documented注释被转换为复制到生成的HTML Javadoc的注释<代码>@NotNull@Size(最小值=3,最大值=20)带有javadoc注释的私有字符串消息文档。我更喜欢看文本。对,这就是我上面想说的:)我是Gunnar提到的标语的作者。我将在业余时间继续推进这项工作,争取释放。不会很快的。taglet生成一个html表,列出属性及其约束,每行一个。不幸的是,Eclipse插件不是一个选项。我知道我说了“随便”。它是除Eclipse之外的任何东西;-)。我想要一些与IDE无关的东西(可以在构建服务器上运行)。