2

将生成的 spring-restdocs 包含到 war 文件中的步骤是什么?

4

1 回答 1

0

按照以下步骤,我能够将其余文档集成到战争文件中。

  1. 按照 spring网站上的说明配置您的项目以生成 doc 文件并编写生成文档的测试用例。完成初始设置后,下一步是将文档集成到 war 文件中,您可以按照以下说明进行操作:

  2. 创建一个 SpringMvcConfiguration

        @EnableWebMvc
    
        public class SpringMvcConfiguration extends WebMvcConfigurerAdapter {
    
         private static final String[] CLASSPATH_RESOURCE_LOCATIONS = {
            "classpath:/resources/" };
         @Override
         public void addResourceHandlers(ResourceHandlerRegistry registry) {
    
        if (!registry.hasMappingForPattern("/**")) {
            registry.addResourceHandler("/**").addResourceLocations(
                    CLASSPATH_RESOURCE_LOCATIONS);
        }
          }
        }
    
  3. 更新 pom.xml 以包含 ascii doc、copy-resources 的插件

                  <build>
                  .....
                      <plugins>
                            <plugin>
                            <groupId>org.asciidoctor</groupId>
                            <artifactId>asciidoctor-maven-plugin</artifactId>
                            <version>1.5.2</version>
                            <executions>
                                <execution>
                                    <id>generate-docs</id>
                                    <phase>prepare-package</phase>
                                    <goals>
                                        <goal>process-asciidoc</goal>
                                    </goals>
                                    <configuration>
                                        <backend>html</backend>
                                        <doctype>book</doctype>
                                        <sourceDirectory>src/main/asciidoc</sourceDirectory>
                                        <attributes>
                                            <snippets>${snippetsDirectory}</snippets>
                                        </attributes>
                                    </configuration>
                                </execution>
                            </executions>
                        </plugin>
                        <plugin>
                            <artifactId>maven-resources-plugin</artifactId>
                            <version>2.7</version>
                            <executions>
                                <execution>
                                    <id>copy-resources</id>
                                    <phase>prepare-package</phase>
                                    <goals>
                                        <goal>copy-resources</goal>
                                    </goals>
                                    <configuration>
                                        <outputDirectory>
                                            ${project.build.outputDirectory}/public/docs
                                        </outputDirectory>
                                        <resources>
                                            <resource>
                                                <directory>
                                                    ${project.build.directory}/generated-docs
                                                </directory>
                                            </resource>
                                        </resources>
                                    </configuration>
                                </execution>
                            </executions>
                        </plugin>
                    </plugins>
                </build> 
    

    插件条目负责生成文档并将其添加到 target/classes 文件夹。在这种情况下,在 target/classes/public/docs 下。

    1. 最后,当您部署 war 文件时,可以在 http://docs/ 下找到文档。在我的例子中,我创建了 index.adoc 文件,它生成了 index.html 作为最终输出。
于 2016-04-19T23:41:57.963 回答