`

关于batik库在Maven中版本问题

 
阅读更多

最近在使用HighCharts进行图标统计分析的时候,客户要求对生成的统计结果图可以导出到Excel查看。

       通过查看相关资料,在得知HighCharts通过SVG生成图标文件信息,那思路就基本确定了,将提交上来的SVG表述字符串转换成图片并写入Excel文件,并将Excel文件转换成流的形式返回到前端进行下载输出。查找Apache下的开源库batik可以完成SVG格式转换为图片的功能,开始着手进行代码开始。

在Maven中引入batik相关开发包,如下:

 

<dependency>
	<groupId>batik</groupId>
	<artifactId>batik-transcoder</artifactId>
	<version>1.6-1</version>
</dependency>

        利用batik的jar包,转换SVG需要生成的图片类型,生成输出流,写入Excel。Eclipse下编译运行,貌似一切顺利。 程序测试通过后,发布,在服务器上部署。

        但问题来了,在部署到服务器上,一测试,在下载统计结果的时候,报错。(天真,什么情况!!心中千万只XX马奔腾而来。)本地测试OK的,部署怎么出问题了,部署的文件有问题?服务器环境不一致?

       查看错误日志,提示,写道

SAX2 driver class org.apache.crimson.parser.XMLReaderImpl not found

       少jar包?但通过比对本地和服务器上的jar包,没问题。网上找了一圈,没发现问题。最后没辙,既然少jar,那就补上。下载apache的crimson包,再一跑,继续报错,“提示用于解析xsl的版本过低,升级JDK到1.5什么的”。彻底晕菜,我用的JDK1.7啊。

       整理一下思路,搜了一把crimson,结果还真发现了问题。

       原来在解析XML文件的时候,crimson作为apache的早期版本,和现在JAXP采用的XML解析器Xerces并不通用。而我在引入的batik版本中,需要引用crimson作为xml解析器,显然引用的batik版本不正确。

      最后通过查找正确的batik版本地址,导入项目,部署,终于拨开乌云见晴天了,服务器正常下载包含图片的Excel文件。

      

<dependency>  
	<groupId>org.apache.xmlgraphics</groupId>  
	<artifactId>batik-codec</artifactId>  
	<version>1.7</version>  
</dependency>
        虽然部署成功,但还有一个问题没有解决。为什么eclipse通过jetty运行正常,但部署到tomcat就出现问题?可能是jetty和tomcat之间差异的问题吧,此问题留待以后继续解决。

 

分享到:
评论

相关推荐

    batik所有架包.rar

    batik-anim batik-awt-util batik-bridge batik batik-codec batik-css batik-dom batik-ext batik-extension batik-gui-util batik-gvt batik-parser batik-rasterizer batik-script batik-svg-dom batik-...

    org.apache.batik包

    在Java 1.4及更高版本中使用Batik,开发者可以轻松地集成SVG功能到他们的应用程序中,创建交互式图形界面,或者生成高质量的图形输出。由于SVG是基于XML的,因此可以利用XML工具和库进行处理,这增加了其灵活性和可...

    maven-repository仓库(2)

    这个是maven的另一个部分jar,可以去看一下简绍(https://blog.csdn.net/Fly_tom/article/details/81874197),把这个文件下载完成,需要把它解压到maven-repository中的org文件下,一定是要点击右键解压到当前...

    batik-maven-plugin-1.0-beta-1.jar

    官方版本,亲测可用

    基于Batik的java客户端程序

    1. **添加依赖**:首先,在项目中添加Batik库的依赖,这可以通过Maven或Gradle等构建工具完成。 2. **解析SVG**:使用`SVGGeneratorContext`和`SVGGraphics2D`来解析SVG文件,创建SVG图形对象。 3. **绘制SVG**:将...

    maven仓库资源包

    包含常用的maven jar包有需要请下载..

    batik的相关jar包

    在Java开发中,Batik是一个非常重要的开源工具包,它由Apache软件基金会提供,主要用于处理SVG(Scalable Vector Graphics)格式的图像。SVG是一种基于XML的矢量图形标准,它允许开发者创建高质量、可缩放的图形,...

    batik-all.jar

    batik-all.jar

    apache-maven-3.0.5

    在Maven中,构建生命周期被划分为几个阶段,包括清理(clean)、默认(default)和站点(site)生命周期。默认生命周期包含了编译(compile)、测试(test)、打包(package)、验证(verify)、集成测试...

    org.apache.batik.transcoder-1.6.0.jar

    org.apache.batik.transcoder-1.6.0.jar

    batik-all-1.7.jar

    batik-all-1.7.jar包含了batik-1.7.jar

    batik-all-1.6

    处理highcharts导出图片出现中文乱码所用到的jar包

    batik-maven-plugin-1.0-beta-1-sources.jar

    官方版本,亲测可用

    Jaspersoft生成条形码所需jar包

    例如,在Maven中,你可以添加以下依赖: ```xml &lt;groupId&gt;org.krysalis.barcode4j &lt;artifactId&gt;barcode4j &lt;version&gt;2.1 &lt;groupId&gt;org.apache.xmlgraphics &lt;artifactId&gt;batik-bridge &lt;version&gt;1.12 ...

    java svg格式转换成图片格式

    在IT行业中,尤其是在图形处理和Web开发领域,Java是一种广泛使用的编程语言,它提供了丰富的库和工具来处理各种文件格式,包括SVG(可缩放矢量图形)和常见的位图格式如PNG、JPEG。本篇将详细介绍如何使用Java进行...

    html2image 0.9.jar 和 html2image2.0.1.jar jar包

    1. 引入依赖:在Java项目中,你需要将下载的jar包添加到类路径(classpath)中,或者在Maven或Gradle等构建工具的配置文件中声明依赖。 2. 创建HTML2Image对象:通过调用相关的构造函数创建一个HTML2Image实例,...

    ai-icons-crystalsvg.jar.zip

    《AI图标库——CrystalSVG.jar在Java开发中的应用与解析》 在当今的软件开发领域,尤其是图形用户界面(GUI)的设计中,高质量的图标扮演着至关重要的角色。AI(Artificial Intelligence)图标库因其独特性和多样性...

    SVG转EMF的示例代码

    在Eclipse中运行此代码之前,确保已经正确地添加了Batik库到项目依赖中。你可以通过Maven或Gradle将它引入,或者直接下载JAR文件并添加到项目的类路径中。然后,你可以按照以下步骤进行: 1. 创建一个SVG图形的输入...

    Java解析xls文档库

    Java解析xls文档库主要指的是Apache POI项目,这是一个流行的开源库,用于在Java环境中读取、写入和修改Microsoft Office格式的文件,包括xls(Excel 97-2007 BIFF8格式)和xlsx(Excel 2007及以上版本的OOXML格式)...

    基于java的条形码生成库 Barcode4J.zip

    2. **图形输出**: 通过使用Apache Batik库,Barcode4J能够生成SVG(可缩放矢量图形)格式的条形码,这种格式具有高质量、无像素损失的特点,适合在网页和PDF文档中使用。 3. **XML配置**: Barcode4J使用XML配置文件...

Global site tag (gtag.js) - Google Analytics