2015-09-09 4 views
1

Я использую boxable plugin с pdfbox, и я пытаюсь создать teble. Я получаю сообщение об ошибке:NoClassDefFoundError using with boxable plugin

2015-09-09T10:36:52.453+0200|Severe: java.lang.NoClassDefFoundError: org/apache/pdfbox/pdmodel/edit/PDPageContentStream 

в строке кода:

BaseTable table = new BaseTable(yStart,yStartNewPage, bottomMargin, tableWidth, margin, doc, page, true, drawContent); 

Вот часть из pom.xml, описания зависимостей, которые я использую:

<dependency> 
     <groupId>org.apache.pdfbox</groupId> 
     <artifactId>pdfbox</artifactId> 
     <version>2.0.0-SNAPSHOT</version> 
    </dependency> 
    <dependency> 
     <groupId>com.github.dhorions</groupId> 
     <artifactId>boxable</artifactId> 
     <version>1.2</version> 
    </dependency> 

ли есть ошибка в текущей версии зависимостей, или я что-то упускаю?

Благодарим за помощь.

ответ

1

Удалить это:

<dependency> 
    <groupId>org.apache.pdfbox</groupId> 
    <artifactId>pdfbox</artifactId> 
    <version>2.0.0-SNAPSHOT</version> 
</dependency> 

2,0 является неизданные версии и находится в стадии разработки, и он имеет другой API. Boxable имеет свои зависимости в своем собственном pom.xml, в настоящее время он запрашивает 1.8.8. (Это не последняя версия, но я не думаю, что это имеет значение для простого создания PDF-файла)

+0

Привет, Тильман, спасибо за ответ ... Но это не решает мою проблему, потому что у меня уже много экспорта в PDF с версией 2.0. Кажется, что в этом случае я не могу использовать плавный плагин, и мне приходится самим рисовать таблицы? –

+0

@ AndrejK действительно, тогда вы не можете его использовать. То, что вы можете сделать, - это модифицировать и строить бокс-плагин самостоятельно, чтобы иметь возможность работать с PDFBox 2.0. Большинство из них просто изменяет импорт, но некоторые вызовы также изменились. Если вы хотите попробовать этот маршрут, не стесняйтесь спрашивать в списке рассылки пользователей, если вы ищете «отсутствующий» API. –

+0

Спасибо Тильману за ответ. Я постараюсь сделать это, если найду какое-то свободное время :) –