2014-11-06 3 views
0

Я пытаюсь создать PDF/A документ, используя IText и Java с помощью следующего кода:получает исключение .NoClassDefFoundError: ком/itextpdf/текст/Журнал/CounterFactory

PdfAWrite writer = PdfAWriter.getInstance(myDoc, myStream, PdfAConformanceLevel.PDF_A_1A); 

, но я получаю это исключение:

java.lang.NoClassDefFoundError: com/itextpdf/text/log/CounterFactory 
at com.itextpdf.text.pdf.PdfAWriter.<init>(PdfAWriter.java:210) 
at com.itextpdf.text.pdf.PdfAWriter.getInstance(PdfAWriter.java:86) 

это мой pom.xml

<dependency> 
    <groupId>com.itextpdf</groupId> 
    <artifactId>itextpdf</artifactId> 
    <version>5.5.3</version> 
</dependency> 

<dependency> 
    <groupId>com.itextpdf</groupId> 
    <artifactId>itext-pdfa</artifactId> 
    <version>5.5.3</version> 
</dependency> 

может кто-нибудь сказать, что я должен сделать, чтобы исправить эту пробл Эм?

Благодаря

ответ

3

Я получаю аналогичные исключения, когда у меня есть упомянутый класс в более чем одной банке. Возможно, вы должны проверить свой путь к классам для дубликатов. Возможно, сосуществуют разные версии одной и той же библиотеки. Если вы используете Eclipse, взгляните на представление «Иерархия зависимостей» pom и попробуйте найти дубликат.

+1

Это очень хорошее предложение. «NoClassDefFoundError» часто вводит в заблуждение в том смысле, что более, чем одна версия класса, если он найден, но точный класс не может быть определен, потому что он неоднозначен: какую версию следует использовать? В любом случае: решение этого должно быть непростым. Множество людей используют iText, не испытывая этой проблемы. Начинать с нуля всегда можно. –

+1

@BrunoLowagie, как вы говорите, NoClassDefFoundError вводит в заблуждение, проблема в том, что у меня было несколько зависимостей в моих файлах pom.xml.Я решил проблему благодаря предложению Кеннета – Shahe

1

Похоже, вы пропустили itextpdf.jar в вашем пути к классам. Загрузите банку и добавьте ее в свой путь к классу

+0

У меня есть что-itextpdf 5.5.3.jar в моем пути к классам наряду с IText-PDFA-5.5.3.jar – Shahe

+0

@Shahe Можете ли вы показать конфигурацию пути к классам? Вы запускаете свое приложение из IDE? – Jens

+0

Я запускаю свое приложение из Eclipse IDE, и я строю свой проект с maven. – Shahe

0

Текущий выпуск библиотек Primefaces относится к более ранней версии iText. При попытке установить последний дистрибутив IText вы будете в конечном итоге к следующей ошибки:

java.lang.NoClassDefFoundError: com/lowagie/text/

Это связано с тем, что в последнее время IText выпустить пакет com/lowagie/text был переименован в com/itextpdf/text. Поэтому, пока это не будет исправлено, используйте предложенный выпуск iText (2.1.7) или, по крайней мере, проверьте структуру пакета.

Это может быть полезно: http://www.mastertheboss.com/jboss-web/primefaces/export-your-datatable-to-excel-and-pdf-using-primefaces?showall=&start=1

+0

* более старая версия * - Ну, между тем можно было сказать, что ... – mkl

 Смежные вопросы

  • Нет связанных вопросов^_^