这可能与类路径问题有关,但我现在还不确定,因为我在某些机器上没有收到此错误。
堆栈顶部的错误是SAX2 driver class org.apache.crimson.parser.XMLReaderImpl not found
。为什么我只在某些环境中获得此错误,而不是其他环境?我该如何进一步调查和/或解决这个问题?
环境:
POM中的版本:
答案 0 :(得分:8)
谢谢,这非常有用。
在Win 7 / Tomcat 6上有完全相同的“缺少深红色”的东西。通过添加深红色库来实现它,但性能很差,非常慢。对于单个图像转码,花费了大约10-15秒。最后通过删除你描述的FOP来解决问题,现在它真的很快。这就是我在POM中的表现:
<dependency>
<groupId>batik</groupId>
<artifactId>batik-transcoder</artifactId>
<version>1.6-1</version>
<scope>compile</scope>
<exclusions>
<exclusion>
<artifactId>fop</artifactId>
<groupId>fop</groupId>
</exclusion>
</exclusions>
</dependency>
答案 1 :(得分:6)
事实证明,Apache XML Graphics本身将Crimson添加到类路径中两次。一旦进入Apache Batik转码器,一次进入Apache FOP。
由于libs是在Tomcat中按字母顺序加载的,首先是FOP包括Crimson,但是Batik也是如此。
我从项目POM中排除了FOP,并解决了类路径问题。
答案 2 :(得分:0)
这是一个JDK版本问题。 Found here:
crimson
lib并且在开发者计算机上运行良好; 使用以下maven配置:
<dependency>
<groupId>batik</groupId>
<artifactId>batik-transcoder</artifactId>
<version>1.6-1</version>
</dependency>
<dependency>
<groupId>crimson</groupId>
<artifactId>crimson</artifactId>
<version>1.1.3</version>
</dependency>