2015-01-19 3 views
1

Я пытаюсь следить за тем, что будет будет очень простым compilation instructions for Apache TikaJAXRS. Я работаю на Windows 8.1 64bit.Ошибка Apache Tika компиляции

  1. Скачать последнюю стабильный источник со страницы загрузки Apache Тика или получить последнюю версию кода из Github,
  2. источник сборки с использованием Maven,
  3. Запуск сервера Apache Тика JAXRS.

OK. Я сделал шаг 1, но я спотыкаясь на шаге 2. Очевидно, что есть некоторые не-написано предпосылки здесь, поэтому я попытался обратиться к ним следующим образом:

  • установлен Java SDK 8u25
  • Set JAVA_HOME переменная C:\Program Files\Java\jdk1.8.0_25
  • Набор CLASSPATH переменной .
  • Добавлена ​​JDK BIN каталог в переменную PATH: C:\Program Files\Java\jdk1.8.0_25\bin
  • каталог
  • Добавлено Maven BIN в переменной PATH: C:\apache-maven-3.2.5\bin

Затем из каталога tika-1.7 (содержимое zip для загрузки src) Я запускаю mvn install. Компиляция успешно продвигается в течение нескольких минут, прежде чем выпустить вывод ошибки, вставленный ниже, после чего компилятор замерзает.

Вопрос выглядит, как это может быть в этом одна - https://issues.apache.org/jira/browse/TIKA-1276 Там какая-то дискуссия там о воссоздании сверток и изменения файлов внутри, чтобы пройти мимо вопроса, но я искренне считаю странным, что я должен был бы перепрыгните через такие обручи, чтобы получить рабочую копию Тики - нет бинарного дистрибутива!

Что мне нужно сделать, чтобы пройти эту компиляцию?

------------------------------------------------------- 
T E S T S 
------------------------------------------------------- 
Running org.apache.tika.bundle.BundleIT 
[main] INFO org.ops4j.pax.exam.spi.DefaultExamSystem - Pax Exam System (Version: 2.2.0) created. 
Jan 19, 2015 11:48:40 AM org.ops4j.pax.url.mvn.internal.AetherBasedResolver resolve 
INFO: Resolved (org.junit:com.springsource.org.junit:jar:4.4.0) as C:\Users\Jason\.m2\repository\org\junit\com.springsource.org.junit\4.4.0\com.springsource.org.junit-4.4.0.jar 
ERROR: Bundle org.ops4j.pax.exam.rbc [1] Error starting link:classpath:META-INF/links/org.ops4j.pax.exam.rbc.link (org.osgi.framework.BundleException: Activator start error in bundle org.ops4j.pax.exam.rbc [1].) 
java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory 
    at org.ops4j.pax.exam.rbc.internal.Activator.<clinit>(Activator.java:47) 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) 
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 
    at java.lang.reflect.Constructor.newInstance(Constructor.java:408) 
    at java.lang.Class.newInstance(Class.java:438) 
    at org.apache.felix.framework.Felix.createBundleActivator(Felix.java:4169) 
    at org.apache.felix.framework.Felix.activateBundle(Felix.java:1972) 
    at org.apache.felix.framework.Felix.startBundle(Felix.java:1895) 
    at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1191) 
    at org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:295) 
    at java.lang.Thread.run(Thread.java:745) 
Caused by: java.lang.ClassNotFoundException: org.slf4j.LoggerFactory not found by org.ops4j.pax.exam.rbc [1] 
    at org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1460) 
    at org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:72) 
    at org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1843) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357) 
    ... 12 more 
ERROR: Bundle org.ops4j.pax.exam.extender.service [2] Error starting link:classpath:META-INF/links/org.ops4j.pax.extender.service.link (org.osgi.framework.BundleException: Unresolved constraint in bundle org.ops4j.pax.exam.extender.service [2]: Unable to resolve 2.0: missing requirement [2.0] osgi.wiring.package; (&(osgi.wiring.package=org.slf4j)(version>=1.6.0)(!(version>=2.0.0))) [caused by: Unable to resolve 4.0: missing requirement [4.0] osgi.wiring.package; (osgi.wiring.package=javax.xml.parsers)]) 
org.osgi.framework.BundleException: Unresolved constraint in bundle org.ops4j.pax.exam.extender.service [2]: Unable to resolve 2.0: missing requirement [2.0] osgi.wiring.package; (&(osgi.wiring.package=org.slf4j)(version>=1.6.0)(!(version>=2.0.0))) [caused by: Unable to resolve 4.0: missing requirement [4.0] osgi.wiring.package; (osgi.wiring.package=javax.xml.parsers)] 
    at org.apache.felix.framework.Felix.resolveBundleRevision(Felix.java:3818) 
    at org.apache.felix.framework.Felix.startBundle(Felix.java:1868) 
    at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1191) 
    at org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:295) 
    at java.lang.Thread.run(Thread.java:745) 
ERROR: Bundle org.ops4j.pax.logging.pax-logging-api [4] Error starting link:classpath:META-INF/links/org.ops4j.pax.logging.api.link (org.osgi.framework.BundleException: Unresolved constraint in bundle org.ops4j.pax.logging.pax-logging-api [4]: Unable to resolve 4.0: missing requirement [4.0] osgi.wiring.package; (osgi.wiring.package=javax.xml.parsers)) 
org.osgi.framework.BundleException: Unresolved constraint in bundle org.ops4j.pax.logging.pax-logging-api [4]: Unable to resolve 4.0: missing requirement [4.0] osgi.wiring.package; (osgi.wiring.package=javax.xml.parsers) 
    at org.apache.felix.framework.Felix.resolveBundleRevision(Felix.java:3818) 
    at org.apache.felix.framework.Felix.startBundle(Felix.java:1868) 
    at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1191) 
    at org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:295) 
    at java.lang.Thread.run(Thread.java:745) 
ERROR: Bundle org.apache.tika.core [6] Error starting file:/C:/Users/Jason/Desktop/FullText/Tika/tika-1.7/tika-bundle/target/test-bundles/tika-core.jar (org.osgi.framework.BundleException: Unresolved constraint in bundle org.apache.tika.core [6]: Unable to resolve 6.0: missing requirement [6.0] osgi.wiring.package; (osgi.wiring.package=javax.crypto)) 
org.osgi.framework.BundleException: Unresolved constraint in bundle org.apache.tika.core [6]: Unable to resolve 6.0: missing requirement [6.0] osgi.wiring.package; (osgi.wiring.package=javax.crypto) 
    at org.apache.felix.framework.Felix.resolveBundleRevision(Felix.java:3818) 
    at org.apache.felix.framework.Felix.startBundle(Felix.java:1868) 
    at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1191) 
    at org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:295) 
    at java.lang.Thread.run(Thread.java:745) 
ERROR: Bundle org.apache.tika.bundle [7] Error starting file:/C:/Users/Jason/Desktop/FullText/Tika/tika-1.7/tika-bundle/target/test-bundles/tika-bundle.jar (org.osgi.framework.BundleException: Unresolved constraint in bundle org.apache.tika.bundle [7]: Unable to resolve 7.0: missing requirement [7.0] osgi.wiring.package; (osgi.wiring.package=javax.crypto)) 
org.osgi.framework.BundleException: Unresolved constraint in bundle org.apache.tika.bundle [7]: Unable to resolve 7.0: missing requirement [7.0] osgi.wiring.package; (osgi.wiring.package=javax.crypto) 
    at org.apache.felix.framework.Felix.resolveBundleRevision(Felix.java:3818) 
    at org.apache.felix.framework.Felix.startBundle(Felix.java:1868) 
    at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1191) 
    at org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:295) 
    at java.lang.Thread.run(Thread.java:745) 
+1

Почему бы не просто скачать [Tika Server 1.7 binary] (http://tika.apache.org/download.html), который доступен из вашего ближайшего Apache Mirror, как описано на странице [Apache Tika downloads] (http://tika.apache.org/download .html)? – Gagravarr

+0

Потому что * где-то * Я читал, что вам нужно было скомпилировать, чтобы получить копию, но я даже не прочитал эту страницу с помощью команды компиляции, которая включает ссылку на бинарную загрузку! :) – Snixtor

ответ

4

Содействия комментария к ответу ...

Я не уверен, почему ваш билд неудачи на этот тест, как она проходит для меня и для автоматизированной системы сборки/тестирования. Однако ... Вы, наверное, не хотите этого делать!

Если вы перейдете на страницу Apache Tika download page, вы увидите ссылку для загрузки последней стабильной банки Tika Server. Следуйте этой ссылке, выберите свое любимое зеркало, загрузите, проверьте контрольную сумму и запустите. Simples!

Если вам действительно нужно построить сервер Tika из источника (например, если вы собираетесь вносить в него изменения), вы можете либо пропустить модульные тесты, выполнив mvn install -DskipTests, который будет выполнять сборку без тестов, или вы можете отредактировать pom.xml в корневой части вашего исходного кода и прокомментировать строку <module>tika-bundle</module>, чтобы исключить весь блок (тесты и все) из вашей сборки. Если вы хотите использовать Tika Server, то вам не нужен комплект OSGi, поэтому можете безопасно пропустить его.

3

Эта ошибка возникает, когда вы пытаетесь создать тику с JDK 8. Для устранения этой проблемы существует pull request ,

+0

и с каким JDK следует строить? – miguelfg

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