我有 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] ---------------------------------------------------------------------