导入jasperreports出现Cannot resolve com.lowagie:itext:2.1.7.js6异常、生成PDF中文不显示中文解决方法、使用命令安装jar包
JasperReport是一個純Java寫的開源免費(fèi)報表工具庫,用于進(jìn)行報表的設(shè)計
1.導(dǎo)入jasperreports依賴時,打印Cannot resolve com.lowagie:itext:2.1.7.js6異常
今天在使用Maven安裝jasperreports依賴時,控制臺始終打印Cannot resolve com.lowagie:itext:2.1.7.js6異常。具體依賴版本如下:
<dependency><groupId>net.sf.jasperreports</groupId><artifactId>jasperreports</artifactId><version>6.8.0</version> </dependency>解決辦法
思路:
-
首先確定網(wǎng)絡(luò)正常,再到 Maven 倉庫 查看是否存在對應(yīng)版本依賴。
-
如果以上都沒問題,基本能確定自動下載不行,就手動下載安裝吧。
以下通過itext演示手動安裝
1、手動下載包到本地
使用JasperReports進(jìn)行功能開發(fā)時會用到itext的jar包,但是這個jar是修改過的,一般為itext-2.1.7.js2.jar,itext-2.1.7.js6.jar等特殊版本,但是這些是maven倉庫下載不到的。
本人在http://jaspersoft.jfrog.io/jaspersoft/third-party-ce-artifacts/ 目錄下找到的相應(yīng)的jar:
2.、安裝 jar 包進(jìn)本地倉庫
安裝命令: mvn install:install-file -Dfile=G:/itext-2.1.7.js6.jar -DgroupId=com.lowagie -DartifactId=itext -Dversion=2.1.7.js6 -Dpackaging=jar
參數(shù)說明:
- mvn install:install-file:安裝文件
- -Dfile:待安裝包所在位置
- -DgroupId:包的GroupId
- -DartifactId:包的artifactId
- -Dversion:包的version
- -Dpackaging:包的文件類型
運(yùn)行效果如下:
安裝成功后去本地倉庫即可查看到剛才安裝的 jar,回到項目刷新異常已消失。
注意:
錯誤想法,直接在本地建文件夾,讓目錄結(jié)構(gòu)對應(yīng)下載后的目錄結(jié)構(gòu),再把包拖進(jìn)去,不就和通過安裝的效果一樣了,還更加簡單。想法很好,但 Maven 存在索引此操作并不行,因?yàn)槲乙呀?jīng)試過了
JasperReports依賴itext-2.1.7.js6.jar等下載
因 Cannot resolve com.lowagie:itext:2.1.7.js6,選擇手動安裝 Jar 包進(jìn) Maven 倉庫
2.生成PDF中文不顯示解決方法
JasperReport在用TIBCO Jaspersoft Studio進(jìn)行報表設(shè)計的時候默認(rèn)采用的字體是SansSerif,中文并不在其處理范圍之內(nèi)。
下面的報表jrxml模板文件中可看到已經(jīng)設(shè)置了華文宋體。
報表模板文件中顯示設(shè)置中文字體,生成PDF文件的時候中文其實(shí)還是不會顯示,因?yàn)镴asperRepeat的包中壓根就沒有華文宋體的字體庫STSONG.TTF,需要在工程中放入該字體庫,并配置JasperReport的字體模板fonts.xml,添加配置文件jasperreports_extension.properties指明字體處理工廠類和字體模板。
Windows操作系統(tǒng)中的字體文件可以在C:\Windows\Fonts目錄下找到,華文宋體的字體文件STSONG.TTF就在該目錄下面。
工程結(jié)構(gòu)如下圖:
fonts.xml
jasperreports_extension.properties
net.sf.jasperreports.extension.registry.factory.simple.font.families=net.sf.jasperreports.engine.fonts.SimpleFontExtensionsRegistryFactory net.sf.jasperreports.extension.simple.font.families.lobstertwo=fonts/fonts.xml經(jīng)過上述處理后,再生成PDF文件,中文已經(jīng)可以正常顯示了。
JasperReport生成PDF中文不顯示處理
總結(jié)
以上是生活随笔為你收集整理的导入jasperreports出现Cannot resolve com.lowagie:itext:2.1.7.js6异常、生成PDF中文不显示中文解决方法、使用命令安装jar包的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python多线程编程(5): 条件变量
- 下一篇: 消息模式在实际开发应用中的优势