最近需要在工程中加入JasperReports,其中要用到把报表导出为pdf文件的功能。JasperReports内部使用iText来输出pdf文档,而iText对中文是放在单独的包iTextAsian.jar中,于是需要在工程中加入iTextAsian。
上网查找了好几个maven 2的repository,都没有收录iTextAsian,那怎么在自己的工程中加入iTextAsian呢?查找了好久,最后还是在AppFuse的论坛中得到Matt Raible的指点后解决了。主要步骤如下:1.确保你已经在本地机器上创建了maven 2的本地repository2.到SourceForge上iText的下载页面()下载iTextAsian.jar,放到本地的某个目录里(比如C:\TEMP)2.在命令行提示符下执行如下命令: mvn install:install-file -DgroupId=com.lowagie -DartifactId=itextasian -Dversion=1.0 -Dpackaging=jar -Dfile=c:\temp\itextasian.jar 这行命令的意思是把该包安装到maven 2的本地repository中3.在工程的pom.xml中的<dependencies>一节加入如下代码:
<dependency> <groupId>com.lowagie</groupId> <artifactId>itextasian</artifactId> <version>1.0</version> </dependency>
4.重新运行mvn war:war,打包后的工程的jar文件中已经包含了itextasian-1.0.jar了
-------------------------------到这步就可以了,就可以把jar包添加到工程中了----------------------
如果细心一点,在运行mvn war:war时会发现maven尝试到工程的pom.xml文件中指定的repository下载itextasian-1.0.pom。由于这些repository并未收录iTextAsian,也就肯定找不到这个文件。尽管这不是什么大问题,还是有办法来避免:自己为本地repository中的iTextAsian编辑一个pom文件。步骤如下:1.使用纯文本编辑工具录入如下内容:
<project> <modelVersion>4.0.0</modelVersion> <groupId>com.lowagie</groupId> <artifactId>itextasian</artifactId> <name>itext</name> <version>1.0</version> <description>Asian language support for iText.</description> <url>http://www.lowagie.com/iText/</url> </project>
2.把这个文件保存到本地repository的com\lowagie\itextasian\1.0目录中,文件名为itextasian-1.0.pom即可