2014-01-30 2 views
0

Я использую Apache Tika 1.4 для извлечения содержимого из моих документов. Но он также поставляется с классами org.bouncycastle. *, И я использую другую версию bouncycastle, которая противоречит пакетам Tika.TikaApp JAR Classes

Если Tika использовал банку bouncycastle (bcprov), я мог исключить использование тега исключения из Maven, но TikaApp скопировал в него классы org.bouncycastle, поэтому я не могу их исключить.

Есть какой-то способ удалить этот пакет без перекомпиляции или разветвления Apache Tika и установить для использования другого JAR в указанный пакет или что-то в этом роде?

Благодаря

+0

Банкомат 'tika-app' предназначен для использования в качестве отдельной программы. Есть ли причина, по которой вы пытаетесь использовать ее как часть существующего проекта, вместо того, чтобы использовать более обычные пакеты? – Gagravarr

ответ

1

Ваша проблема заключается в том, что вы используете полностью неправильную упаковку Тика!

Банер tika-app является автономным, управляемым банком, содержащим весь код Tika + все зависимости, необходимые для его запуска. Он предназначен для использования из командной строки автономно, чтобы позволить пользователям, не являющимся Java, вызывать Tika и позволять легко тестировать.

Если вы пишете свое собственное приложение Java, которое, как вам кажется, вам нужно будет зависеть от артефакта tika-core как минимум. Это содержит все интерфейсы, обнаружение mime, загрузчики сервисов и т. Д. Вы почти наверняка также захотите зависеть от tika-parsers, который предоставляет весь код для фактического разбора форматов файлов, а также для вытягивания требуемых зависимостей. Это дает вам полный контроль, который вам кажется нужным.

Наконец, имеется также комплект OSGi для тех, кто предпочитает управление и классную загрузку, предлагаемые OSGi, которые находятся в артефакте tika-bundle. Также есть версия JAX-RS с поддержкой CXF, которая предлагает услуги Tika через интерфейс RESTful, который входит в артефакт tika-server.