原文出處:https://blog.csdn.net/qq_29534483/article/details/81235081
最下面附加了自己處理中文缺失的問題的解決辦法
加入依賴
Properties
<properties>
<java.version>1.8</java.version>
<swagger2markup.version>1.3.1</swagger2markup.version>
<asciidoctor.input.directory>${project.build.directory}/src/docs/asciidoc/generated</asciidoctor.input.directory>
<swagger.output.dir>${project.build.directory}/swagger</swagger.output.dir>
<generated.asciidoc.directory>${project.build.directory}/src/docs/asciidoc/generated</generated.asciidoc.directory>
<swagger.input>http://localhost:8080/v2/api-docs</swagger.input>
<jackson.version>2.9.6</jackson.version>
</properties>
repository
<repositories>
<repository>
<id>jcentral</id>
<name>bintray</name>
<url>http://jcenter.bintray.com</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
<repository>
<id>jcenter-snapshots</id>
<name>jcenter</name>
<url>http://oss.jfrog.org/artifactory/oss-snapshot-local/</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>jcenter-snapshots</id>
<name>jcenter</name>
<url>http://oss.jfrog.org/artifactory/oss-snapshot-local/</url>
</pluginRepository>
<pluginRepository>
<snapshots>
<enabled>false</enabled>
</snapshots>
<id>jcenter-releases</id>
<name>jcenter</name>
<url>http://jcenter.bintray.com</url>
</pluginRepository>
</pluginRepositories>
dependency
<dependency>
<groupId>io.github.swagger2markup</groupId>
<artifactId>swagger2markup</artifactId>
<version>${swagger2markup.version}</version>
</dependency>
① plugin swagger2markup
<plugin>
<groupId>io.github.swagger2markup</groupId>
<artifactId>swagger2markup-maven-plugin</artifactId>
<version>${swagger2markup.version}</version>
<!--<dependencies>
<dependency>
<groupId>io.github.swagger2markup</groupId>
<artifactId>swagger2markup-import-files-ext</artifactId>
<version>${swagger2markup.version}</version>
</dependency>
<dependency>
<groupId>io.github.swagger2markup</groupId>
<artifactId>swagger2markup-spring-restdocs-ext</artifactId>
<version>${swagger2markup.version}</version>
</dependency>
</dependencies>-->
<configuration>
<swaggerInput>${swagger.input}</swaggerInput>
<outputDir>${generated.asciidoc.directory}</outputDir>
<config>
<swagger2markup.markupLanguage>ASCIIDOC</swagger2markup.markupLanguage>
<swagger2markup.pathsGroupedBy>TAGS</swagger2markup.pathsGroupedBy>
</config>
</configuration>
<executions>
<execution>
<phase>test</phase>
<goals>
<goal>convertSwagger2markup</goal>
</goals>
</execution>
</executions>
</plugin>
② plugin asciidoctor
<plugin>
<groupId>org.asciidoctor</groupId>
<artifactId>asciidoctor-maven-plugin</artifactId>
<version>1.5.6</version>
<!-- Include Asciidoctor PDF for pdf generation -->
<dependencies>
<dependency>
<groupId>org.asciidoctor</groupId>
<artifactId>asciidoctorj-pdf</artifactId>
<version>1.5.0-alpha.16</version>
</dependency>
<dependency>
<groupId>org.jruby</groupId>
<artifactId>jruby-complete</artifactId>
<version>1.7.24</version>
</dependency>
</dependencies>
<!-- Configure generic document generation settings -->
<configuration>
<sourceDirectory>${asciidoctor.input.directory}</sourceDirectory>
<!--<sourceDocumentName>overview.adoc</sourceDocumentName>-->
<!--<sourceDocumentName>definitions.adoc</sourceDocumentName>-->
<sourceDocumentName>paths.adoc</sourceDocumentName>
<!--<sourceDocumentName>security.adoc</sourceDocumentName>-->
<headerFooter>true</headerFooter>
<doctype>book</doctype>
<backend>pdf</backend>
<sourceHighlighter>coderay</sourceHighlighter>
<attributes>
<toc>left</toc>
<toclevels>3</toclevels>
<sectnums>true</sectnums>
<generated>${generated.asciidoc.directory}</generated>
</attributes>
</configuration>
</plugin>
操作步驟:
A Properties中的 <swagger.input>
記得改一下port 和 context-path
然后再啟動項目
B 執(zhí)行插件一(或使用指令 mvn swagger2markuo:convertSwagger2markup)
文件會生成在插件一配置中 <outputDir> 的設定的路徑下(須新建該路徑)
會生成四個 .adoc文件允粤,分別是
definitions.adoc
overview.adoc
paths.adoc
security.adoc
C 插件二中的配置艰赞,<sourceDocumentName>
代表要轉(zhuǎn)換的文件(如果設置多個標簽,也只會執(zhí)行最后一個標簽)黍翎;<backend>
代表將要轉(zhuǎn)換的文件類型,可使用 pdf 或 html
插件二的執(zhí)行可以使用命令 mvn asciidoctor:process-asciidoc
問題記錄
插件二中甩鳄,默認使用的 asciidoctorj-pdf
依賴對中文的支持不太友好涣达,會出現(xiàn)部分文字變成空格的情況。
根據(jù)博客https://blog.csdn.net/qq_29534483/article/details/81235081的描述规揪,記錄一下自己的做法
找到我使用的對應的jar包,
C:\Users\NagaSiren.m2\repository\org\asciidoctor\asciidoctorj-pdf\1.5.0-alpha.16\asciidoctorj-pdf-1.5.0-alpha.16.jar
1温峭、解壓該jar包猛铅,進入路徑gems\asciidoctor-pdf-1.5.0.alpha.16\data\fonts
添加一些自己的中文格式的ttf文件,本人是在 C://Windows/font里面找的一個系統(tǒng)的 simkai.ttf文檔
2凤藏、更改gems\asciidoctor-pdf-1.5.0.alpha.16\data\themes中的文件default-theme.yml
更改以下屬性即可奸忽,將原來的默認字體依賴改為我們新增的ttf(不要更改縮進)
Noto Serif:
normal: simkai.ttf
bold: simkai.ttf
italic: simkai.ttf
bold_italic: simkai.ttf
最后替換掉jar中的這個yml配置文件,字體就正常了揖庄。