最近需要在工程中加入JasperReports,其中要用到把报表导出为pdf文件的功能。JasperReports内部使用iText来输出pdf文档,而iText对中文是放在单独的包iTextAsian.jar中,于是需要在工程中加入iTextAsian。
上网查找了好几个maven 2的repository,都没有收录iTextAsian,那怎么在自己的工程中加入iTextAsian呢?查找了好久,最后还是在AppFuse的论坛中得到Matt Raible的指点后解决了。主要步骤如下:
1.确保你已经在本地机器上创建了maven 2的本地repository
2.到SourceForge上iText的下载页面(http://sourceforge.net/project/showfiles.php?group_id=15255)下载iTextAsian.jar,放到本地的某个目录里(比如C:TEMP)
2.在命令行提示符下执行如下命令:
mvn install:install-file -DgroupId=com.lowagie -DartifactId=itextasian -Dversion=1.0 -Dpackaging=jar -Dfile=c: empitextasian.jar
这行命令的意思是把该包安装到maven 2的本地repository中
3.在工程的pom.xml中的<dependencies>一节加入如下代码:
<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.使用纯文本编辑工具录入如下内容:
<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的comlowagieitextasian1.0目录中,文件名为itextasian-1.0.pom即可