我有2个模块,一个公共模块和一个服务模块。 commons模块包含DTO,service模块包含Controller。 两者具有相同的组ID。
Enunciate会为控制器及其方法生成基于javadocs的文档,但不会为控制器中使用的DTO生成文档。
对于DTO,仅显示其类型且字段description
为空的字段列表。
经过研究,我发现了论文https://github.com/stoicflame/enunciate/wiki/Multi-Module-Projects并在config下面的commons pom.xml中得到了应用:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<executions>
<execution>
<id>attach-sources</id>
<phase>package</phase>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
但是添加此配置没有帮助。
之后,我将服务pom.xml更改如下:
<plugin>
<groupId>com.webcohesion.enunciate</groupId>
<artifactId>enunciate-maven-plugin</artifactId>
<version>${enunciate.version}</version>
<executions>
<execution>
<id>assemble</id>
<goals>
<goal>assemble</goal>
</goals>
<configuration>
<forceWarPackaging>false</forceWarPackaging>
<docsDir>${project.basedir}\src\main\resources\static\</docsDir>
<sourcepath-includes>
<include>
<groupId>group-id-shared-between-commons-and-service</groupId>
</include>
</sourcepath-includes>
</configuration>
</execution>
</executions>
</plugin>
再次,没有任何改变。
我还检查了本地存储库,是否已创建commons模块的源jar,并且所有注释都以标准javadoc的形式存在于源中。
我读了日志,没有发现为什么说不使用Commons Source。
[DEBUG] [ENUNCIATE] Source artifact found at group-id-shared-between-commons-and-service:commons:jar:sources:1.0-SNAPSHOT.
如何获取包含大量DTO的文档?