Если вы выполняете Batik из fedora, используя файл .jar, это довольно болезненно из-за того, что java игнорирует флаг -classpath.Я предполагаю, что батик находится в / usr / share / java. Выберите местоположение в соответствии с вашей системой. Одним из решений может быть следующее: создать каталог с нуля (я полагаю, что вы суперпользователь, в любом случае вы всегда можете использовать команды sudo)
mkdir scratch
cd scratch
jar -xf /usr/share/java/batik-rasterizer.jar
Это выводит содержимое jar-файла на пустое место, затем создает файл MANIFEST.MF или извлекает выходной файл из дампа
cp META-INF/MANIFEST.MF .
Теперь отредактируйте файл MANIFEST.MF (мне нравится использовать vi,любой может использовать свой предпочтительный)
vi MANIFEST.MF
Добавьте строку Class-Path: в файл MANIFEST.MF, например:
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/*
Включите все банки, в которые батик вложил классы
Тогда вы можете использовать его!
java -jar /usr/share/java/batik-rasterizer.jar -scriptSecurittyOff -m image/png -d image.png image.svg
например, и все!