如果您使用 .jar 文件从 fedora 执行 Batik,由于 java 忽略 -classpath 标志,这是非常痛苦的。我假设蜡染在 /usr/share/java 根据您的系统选择位置一种解决方案可能如下:创建一个临时目录(我假设您是超级用户,无论如何您总是可以使用 sudo 命令)
mkdir scratch
cd scratch
jar -xf /usr/share/java/batik-rasterizer.jar
这会将jar文件的内容输出到scratch,然后创建一个MANIFEST.MF文件或从转储中获取输出
cp META-INF/MANIFEST.MF .
现在编辑 MANIFEST.MF 文件(我喜欢使用 vi,任何人都使用他们喜欢的)
vi MANIFEST.MF
在 MANIFEST.MF 中添加一个 Class-Path: 行,例如:
Class-Path: batik-all.jar xmlgraphics-commons.jar xml-commons-apis-ext.jar pdf-transcoder.jar avalon-framework.jar avalon-framework-api.jar apache-commons-logging.jar apache-commons-io.jar
然后关闭文件并重新创建jar文件
jar cmf MANIFEST.MF /usr/share/java/batik-rasterizer.jar org/*
包括 batik 嵌套类的所有 jar
然后就可以使用了!
java -jar /usr/share/java/batik-rasterizer.jar -scriptSecurittyOff -m image/png -d image.png image.svg
例如,就是这样!