问题
前端项目里pdf预览功能,用的是pdf.js插件,本地运行正常,打包后部署服务器,发现pdf预览内容空白,字体失效了。
问题分析
因为maven打包时会对资源文件进行编译,这导致pdf.js插件的字体包文件被改动了。
解决办法
pom.xml,添加下面配置
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.7</version>
<configuration>
<nonFilteredFileExtensions>
<nonFilteredFileExtension>map</nonFilteredFileExtension>
<nonFilteredFileExtension>pdf</nonFilteredFileExtension>
<nonFilteredFileExtension>cur</nonFilteredFileExtension>
<nonFilteredFileExtension>bcmap</nonFilteredFileExtension>
</nonFilteredFileExtensions>
</configuration>
<dependencies>
<dependency>
<groupId>org.apache.maven.shared</groupId>
<artifactId>maven-filtering</artifactId>
<version>1.3</version>
</dependency>
</dependencies>
</plugin>
这里是把指定后缀名的文件给排除掉,不去做编译处理,可以根据实际需要添加或者修改。
ok,maven clearn ,然后重新打包,再看打包后的文件,上述后缀名的文件应该都不会再被编译了。