0

我有 Spring Boot 项目,我想记录它的 Rest Controller。我已经在项目中添加了招摇,当我在浏览器中访问 url http://localhost:5053/pmt/v2/api-docs 时,它会正确生成 json,因为我在 application.properties 中定义了以下属性:

server.servlet.context-path=/pmt
server.port=5053

但是我想要pdf格式的文档。所以我用下面的 pom 创建了另一个 maven 项目

<project xmlns="http://maven.apache.org/POM/4.0.0" 
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
 http://maven.apache.org/xsd/maven-4.0.0.xsd">


<modelVersion>4.0.0</modelVersion>
  <groupId>price.manager.analytics.engine</groupId>
  <artifactId>swagger-to-pdf</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <properties>
        <java.version>1.8</java.version>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <asciidoctor.maven.plugin.version>2.1.0</asciidoctor.maven.plugin.version>
        <asciidoctorj.pdf.version>1.6.0</asciidoctorj.pdf.version>
        <asciidoctorj.version>2.5.1</asciidoctorj.version>
        <jruby.version>9.2.17.0</jruby.version>
  </properties>
  <dependencies>
    <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger2</artifactId>
            <version>2.9.2 </version>
        </dependency>
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger-ui</artifactId>
            <version>2.9.2</version>
        </dependency>
        <dependency>
            <groupId>io.github.swagger2markup</groupId>
            <artifactId>swagger2markup</artifactId>
            <version>1.3.1</version>
        </dependency>           
  </dependencies>
  <build>
    <defaultGoal>generate-resources</defaultGoal>
    <plugins>
        <!--This plugin generates ASCIIDOC-->
         <plugin>
             <groupId>io.github.swagger2markup</groupId>
             <artifactId>swagger2markup-maven-plugin</artifactId>
             <version>1.2.0</version>
             <configuration>
                 <swaggerInput>http://localhost:5053/pmt/v2/api-docs</swaggerInput>
                 <outputDir>src/docs/asciidoc/generated</outputDir>
                 <config><swagger2markup.markupLanguage>ASCIIDOC</swagger2markup.markupLanguage>
                 </config>
             </configuration>
         </plugin>
          <!--This plugin generates HTML and PDF-->
          <plugin>
              <groupId>org.asciidoctor</groupId>
              <artifactId>asciidoctor-maven-plugin</artifactId>
              <version>${asciidoctor.maven.plugin.version}</version>
              <!-- Include Asciidoctor PDF for pdf generation -->
              <dependencies>
                  <dependency>
                      <groupId>org.asciidoctor</groupId>
                      <artifactId>asciidoctorj-pdf</artifactId>
                      <version>${asciidoctorj.pdf.version}</version>
                  </dependency>
                  <dependency>
                      <groupId>org.jruby</groupId>
                      <artifactId>jruby-complete</artifactId>
                      <version>${jruby.version}</version>
                  </dependency>
              </dependencies>
              <!-- Configure generic document generation settings -->
              <configuration>
                  <sourceDirectory>src/docs/asciidoc/generated</sourceDirectory>
                  <sourceHighlighter>coderay</sourceHighlighter>
                  <attributes>
                      <toc>left</toc>
                  </attributes>
              </configuration>
              <!-- Since each execution can only handle one backend, run
                   separate executions for each desired output type -->
              <executions>
                  <execution>
                      <id>output-html</id>
                      <phase>generate-resources</phase>
                      <goals>
                          <goal>process-asciidoc</goal>
                      </goals>
                      <configuration>
                          <backend>html5</backend>
                          <outputDirectory>src/docs/asciidoc/html</outputDirectory>
                      </configuration>
                  </execution>

                  <execution>
                      <id>output-pdf</id>
                      <phase>generate-resources</phase>
                      <goals>
                          <goal>process-asciidoc</goal>
                      </goals>
                      <configuration>
                          <backend>pdf</backend>
                          <outputDirectory>src/docs/asciidoc/pdf</outputDirectory>
                      </configuration>
                  </execution>
        </executions>
        </plugin>
            
    </plugins>
  </build>
  <repositories>
        <repository>
            <id>jitpack.io</id>
            <url>https://jitpack.io</url>
        </repository>
        <repository>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
            <id>jcenter-releases</id>
            <name>jcenter</name>
            <url>http://jcenter.bintray.com</url>
        </repository>
    </repositories>
</project>

我的期望是因为我使用 http://localhost:5053/pmt/v2/api-docs 作为招摇输入,html & pdf 文件将在相应的输出目录中生成。但没有任何事情发生。我错过了什么?这是Maven输出:

[INFO] Scanning for projects...
[INFO] 
[INFO] -----------< price.manager.analytics.engine:swagger-to-pdf >
[INFO] Building swagger-to-pdf 0.0.1-SNAPSHOT
[INFO] --------------------------------[ jar ]-------------------
[INFO] 
[INFO] --- asciidoctor-maven-plugin:2.1.0:process-asciidoc    (output-html) @ swagger-to-pdf ---
[INFO] Downloading from : https://repo.maven.apache.org/maven2/org/asciidoctor/asciidoctorj/2.4.1/asciidoctorj-2.4.1.pom
[INFO] Downloaded from : https://repo.maven.apache.org/maven2/org/asciidoctor/asciidoctorj/2.4.1/asciidoctorj-2.4.1.pom (2.6 kB at 582 B/s)
[INFO] Downloading from : https://repo.maven.apache.org/maven2/org/asciidoctor/asciidoctorj-api/2.4.1/asciidoctorj-api-2.4.1.pom
[INFO] Downloaded from : https://repo.maven.apache.org/maven2/org/asciidoctor/asciidoctorj-api/2.4.1/asciidoctorj-api-2.4.1.pom (1.9 kB at 1.9 kB/s)
[INFO] Downloading from : https://repo.maven.apache.org/maven2/org/asciidoctor/asciidoctorj/2.4.1/asciidoctorj-2.4.1.jar
[INFO] Downloaded from : https://repo.maven.apache.org/maven2/org/asciidoctor/asciidoctorj/2.4.1/asciidoctorj-2.4.1.jar (1.8 MB at 273 kB/s)
[INFO] Downloading from : https://repo.maven.apache.org/maven2/org/asciidoctor/asciidoctorj-api/2.4.1/asciidoctorj-api-2.4.1.jar
[INFO] Downloaded from : https://repo.maven.apache.org/maven2/org/asciidoctor/asciidoctorj-api/2.4.1/asciidoctorj-api-2.4.1.jar (60 kB at 66 kB/s)
[INFO] No sources found. Skipping processing
[INFO] 
[INFO] --- asciidoctor-maven-plugin:2.1.0:process-asciidoc (output-pdf) @ swagger-to-pdf ---
[INFO] No sources found. Skipping processing
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 14.755 s
[INFO] Finished at: 2021-07-14T19:52:32+05:30
[INFO] ---------------------------------------------------------------------
4

0 回答 0