Apache Tika编译错误

时间:2011-03-22 11:55:11

标签: java compilation debian apache-tika

在编写Apache Tika最新版本的debian时,我遇到了这个错误。任何帮助将不胜感激。

我已从tika.apache.org/download.html下载了最新版本。安装了具有aptitude的maven。我用debian。并且还安装了sun-java6-jdk。设置JAVA_HOME变量。然后我去基地tika文件夹并运行“mvn clean install”。更有趣的是,我可以在几天前在另一台debian服务器上安装它而没有任何问题。

Running org.apache.tika.fork.ForkParserTest
java.lang.ClassNotFoundException: Unable to find class org.apache.tika.metadata.Metadata
   at org.apache.tika.fork.ClassLoaderProxy.findClass(ClassLoaderProxy.java:117)
   at java.lang.ClassLoader.loadClass(libgcj.so.90)
   at java.lang.ClassLoader.loadClass(libgcj.so.90)
   at java.lang.reflect.Method.getType(libgcj.so.90)
   at java.lang.reflect.Method.getParameterTypes(libgcj.so.90)
   at org.apache.tika.fork.ForkServer.call(ForkServer.java:130)
   at org.apache.tika.fork.ForkServer.processRequests(ForkServer.java:116)
   at org.apache.tika.fork.ForkServer.main(ForkServer.java:64)
java.lang.ClassNotFoundException: Unable to find class org.apache.tika.metadata.Metadata
   at org.apache.tika.fork.ClassLoaderProxy.findClass(ClassLoaderProxy.java:117)
   at java.lang.ClassLoader.loadClass(libgcj.so.90)
   at java.lang.ClassLoader.loadClass(libgcj.so.90)
   at java.lang.reflect.Method.getType(libgcj.so.90)
   at java.lang.reflect.Method.getParameterTypes(libgcj.so.90)
   at org.apache.tika.fork.ForkServer.call(ForkServer.java:130)
   at org.apache.tika.fork.ForkServer.processRequests(ForkServer.java:116)
   at org.apache.tika.fork.ForkServer.main(ForkServer.java:64)
java.lang.ClassNotFoundException: Unable to find class org.apache.tika.metadata.Metadata
   at org.apache.tika.fork.ClassLoaderProxy.findClass(ClassLoaderProxy.java:117)
   at java.lang.ClassLoader.loadClass(libgcj.so.90)
   at java.lang.ClassLoader.loadClass(libgcj.so.90)
   at java.lang.reflect.Method.getType(libgcj.so.90)
   at java.lang.reflect.Method.getParameterTypes(libgcj.so.90)
   at org.apache.tika.fork.ForkServer.call(ForkServer.java:130)
   at org.apache.tika.fork.ForkServer.processRequests(ForkServer.java:116)
   at org.apache.tika.fork.ForkServer.main(ForkServer.java:64)
java.lang.ClassNotFoundException: Unable to find class org.apache.tika.metadata.Metadata
   at org.apache.tika.fork.ClassLoaderProxy.findClass(ClassLoaderProxy.java:117)
   at java.lang.ClassLoader.loadClass(libgcj.so.90)
   at java.lang.ClassLoader.loadClass(libgcj.so.90)
   at java.lang.reflect.Method.getType(libgcj.so.90)
   at java.lang.reflect.Method.getParameterTypes(libgcj.so.90)
   at org.apache.tika.fork.ForkServer.call(ForkServer.java:130)
   at org.apache.tika.fork.ForkServer.processRequests(ForkServer.java:116)
   at org.apache.tika.fork.ForkServer.main(ForkServer.java:64)
java.lang.ClassNotFoundException: Unable to find class org.apache.tika.metadata.Metadata
   at org.apache.tika.fork.ClassLoaderProxy.findClass(ClassLoaderProxy.java:117)
   at java.lang.ClassLoader.loadClass(libgcj.so.90)
   at java.lang.ClassLoader.loadClass(libgcj.so.90)
   at java.lang.reflect.Method.getType(libgcj.so.90)
   at java.lang.reflect.Method.getParameterTypes(libgcj.so.90)
   at org.apache.tika.fork.ForkServer.call(ForkServer.java:130)
   at org.apache.tika.fork.ForkServer.processRequests(ForkServer.java:116)
   at org.apache.tika.fork.ForkServer.main(ForkServer.java:64)
java.lang.ClassNotFoundException: Unable to find class org.apache.tika.metadata.Metadata
   at org.apache.tika.fork.ClassLoaderProxy.findClass(ClassLoaderProxy.java:117)
   at java.lang.ClassLoader.loadClass(libgcj.so.90)
   at java.lang.ClassLoader.loadClass(libgcj.so.90)
   at java.lang.reflect.Method.getType(libgcj.so.90)
   at java.lang.reflect.Method.getParameterTypes(libgcj.so.90)
   at org.apache.tika.fork.ForkServer.call(ForkServer.java:130)
   at org.apache.tika.fork.ForkServer.processRequests(ForkServer.java:116)
   at org.apache.tika.fork.ForkServer.main(ForkServer.java:64)
java.lang.ClassNotFoundException: Unable to find class org.apache.tika.metadata.Metadata
   at org.apache.tika.fork.ClassLoaderProxy.findClass(ClassLoaderProxy.java:117)
   at java.lang.ClassLoader.loadClass(libgcj.so.90)
   at java.lang.ClassLoader.loadClass(libgcj.so.90)
   at java.lang.reflect.Method.getType(libgcj.so.90)
   at java.lang.reflect.Method.getParameterTypes(libgcj.so.90)
   at org.apache.tika.fork.ForkServer.call(ForkServer.java:130)
   at org.apache.tika.fork.ForkServer.processRequests(ForkServer.java:116)
   at org.apache.tika.fork.ForkServer.main(ForkServer.java:64)
java.lang.ClassNotFoundException: Unable to find class org.apache.tika.metadata.Metadata
   at org.apache.tika.fork.ClassLoaderProxy.findClass(ClassLoaderProxy.java:117)
   at java.lang.ClassLoader.loadClass(libgcj.so.90)
   at java.lang.ClassLoader.loadClass(libgcj.so.90)
   at java.lang.reflect.Method.getType(libgcj.so.90)
   at java.lang.reflect.Method.getParameterTypes(libgcj.so.90)
   at org.apache.tika.fork.ForkServer.call(ForkServer.java:130)
   at org.apache.tika.fork.ForkServer.processRequests(ForkServer.java:116)
   at org.apache.tika.fork.ForkServer.main(ForkServer.java:64)
java.lang.ClassNotFoundException: Unable to find class org.apache.tika.metadata.Metadata
   at org.apache.tika.fork.ClassLoaderProxy.findClass(ClassLoaderProxy.java:117)
   at java.lang.ClassLoader.loadClass(libgcj.so.90)
   at java.lang.ClassLoader.loadClass(libgcj.so.90)
   at java.lang.reflect.Method.getType(libgcj.so.90)
   at java.lang.reflect.Method.getParameterTypes(libgcj.so.90)
   at org.apache.tika.fork.ForkServer.call(ForkServer.java:130)
   at org.apache.tika.fork.ForkServer.processRequests(ForkServer.java:116)
   at org.apache.tika.fork.ForkServer.main(ForkServer.java:64)
java.lang.ClassNotFoundException: Unable to find class org.apache.tika.metadata.Metadata
   at org.apache.tika.fork.ClassLoaderProxy.findClass(ClassLoaderProxy.java:117)
   at java.lang.ClassLoader.loadClass(libgcj.so.90)
   at java.lang.ClassLoader.loadClass(libgcj.so.90)
   at java.lang.reflect.Method.getType(libgcj.so.90)
   at java.lang.reflect.Method.getParameterTypes(libgcj.so.90)
   at org.apache.tika.fork.ForkServer.call(ForkServer.java:130)
   at org.apache.tika.fork.ForkServer.processRequests(ForkServer.java:116)
   at org.apache.tika.fork.ForkServer.main(ForkServer.java:64)
java.lang.ClassNotFoundException: Unable to find class org.apache.tika.metadata.Metadata
   at org.apache.tika.fork.ClassLoaderProxy.findClass(ClassLoaderProxy.java:117)
   at java.lang.ClassLoader.loadClass(libgcj.so.90)
   at java.lang.ClassLoader.loadClass(libgcj.so.90)
   at java.lang.reflect.Method.getType(libgcj.so.90)
   at java.lang.reflect.Method.getParameterTypes(libgcj.so.90)
   at org.apache.tika.fork.ForkServer.call(ForkServer.java:130)
   at org.apache.tika.fork.ForkServer.processRequests(ForkServer.java:116)
   at org.apache.tika.fork.ForkServer.main(ForkServer.java:64)
org.apache.tika.exception.TikaException: Failed to communicate with a forked parser process. The process has most likely crashed due to some error like running out of memory. A new process will be started for the next parsing request.
    at org.apache.tika.fork.ForkParser.parse(ForkParser.java:120)
    at org.apache.tika.fork.ForkParserTest$1.run(ForkParserTest.java:80)
Caused by: java.io.IOException: Lost connection to a forked server process
    at org.apache.tika.fork.ForkClient.waitForResponse(ForkClient.java:169)
    at org.apache.tika.fork.ForkClient.sendObject(ForkClient.java:137)
    at org.apache.tika.fork.ForkClient.call(ForkClient.java:108)
    at org.apache.tika.fork.ForkParser.parse(ForkParser.java:117)
    ... 1 more
org.apache.tika.exception.TikaException: Failed to communicate with a forked parser process. The process has most likely crashed due to some error like running out of memory. A new process will be started for the next parsing request.
    at org.apache.tika.fork.ForkParser.parse(ForkParser.java:120)
    at org.apache.tika.fork.ForkParserTest$1.run(ForkParserTest.java:80)
Caused by: java.io.IOException: Lost connection to a forked server process
    at org.apache.tika.fork.ForkClient.waitForResponse(ForkClient.java:169)
    at org.apache.tika.fork.ForkClient.sendObject(ForkClient.java:137)
    at org.apache.tika.fork.ForkClient.call(ForkClient.java:108)
    at org.apache.tika.fork.ForkParser.parse(ForkParser.java:117)
    ... 1 more
org.apache.tika.exception.TikaException: Failed to communicate with a forked parser process. The process has most likely crashed due to some error like running out of memory. A new process will be started for the next parsing request.
    at org.apache.tika.fork.ForkParser.parse(ForkParser.java:120)
    at org.apache.tika.fork.ForkParserTest$1.run(ForkParserTest.java:80)
Caused by: java.io.IOException: Lost connection to a forked server process
    at org.apache.tika.fork.ForkClient.waitForResponse(ForkClient.java:169)
    at org.apache.tika.fork.ForkClient.sendObject(ForkClient.java:137)
    at org.apache.tika.fork.ForkClient.call(ForkClient.java:108)
    at org.apache.tika.fork.ForkParser.parse(ForkParser.java:117)
    ... 1 more
org.apache.tika.exception.TikaException: Failed to communicate with a forked parser process. The process has most likely crashed due to some error like running out of memory. A new process will be started for the next parsing request.
    at org.apache.tika.fork.ForkParser.parse(ForkParser.java:120)
    at org.apache.tika.fork.ForkParserTest$1.run(ForkParserTest.java:80)
Caused by: java.io.IOException: Lost connection to a forked server process
    at org.apache.tika.fork.ForkClient.waitForResponse(ForkClient.java:169)
    at org.apache.tika.fork.ForkClient.sendObject(ForkClient.java:137)
    at org.apache.tika.fork.ForkClient.call(ForkClient.java:108)
    at org.apache.tika.fork.ForkParser.parse(ForkParser.java:117)
    ... 1 more
org.apache.tika.exception.TikaException: Failed to communicate with a forked parser process. The process has most likely crashed due to some error like running out of memory. A new process will be started for the next parsing request.
    at org.apache.tika.fork.ForkParser.parse(ForkParser.java:120)
    at org.apache.tika.fork.ForkParserTest$1.run(ForkParserTest.java:80)
Caused by: java.io.IOException: Lost connection to a forked server process
    at org.apache.tika.fork.ForkClient.waitForResponse(ForkClient.java:169)
    at org.apache.tika.fork.ForkClient.sendObject(ForkClient.java:137)
    at org.apache.tika.fork.ForkClient.call(ForkClient.java:108)
    at org.apache.tika.fork.ForkParser.parse(ForkParser.java:117)
    ... 1 more
org.apache.tika.exception.TikaException: Failed to communicate with a forked parser process. The process has most likely crashed due to some error like running out of memory. A new process will be started for the next parsing request.
    at org.apache.tika.fork.ForkParser.parse(ForkParser.java:120)
    at org.apache.tika.fork.ForkParserTest$1.run(ForkParserTest.java:80)
Caused by: java.io.IOException: Lost connection to a forked server process
    at org.apache.tika.fork.ForkClient.waitForResponse(ForkClient.java:169)
    at org.apache.tika.fork.ForkClient.sendObject(ForkClient.java:137)
    at org.apache.tika.fork.ForkClient.call(ForkClient.java:108)
    at org.apache.tika.fork.ForkParser.parse(ForkParser.java:117)
    ... 1 more
org.apache.tika.exception.TikaException: Failed to communicate with a forked parser process. The process has most likely crashed due to some error like running out of memory. A new process will be started for the next parsing request.
    at org.apache.tika.fork.ForkParser.parse(ForkParser.java:120)
    at org.apache.tika.fork.ForkParserTest$1.run(ForkParserTest.java:80)
Caused by: java.io.IOException: Lost connection to a forked server process
    at org.apache.tika.fork.ForkClient.waitForResponse(ForkClient.java:169)
    at org.apache.tika.fork.ForkClient.sendObject(ForkClient.java:137)
    at org.apache.tika.fork.ForkClient.call(ForkClient.java:108)
    at org.apache.tika.fork.ForkParser.parse(ForkParser.java:117)
    ... 1 more
org.apache.tika.exception.TikaException: Failed to communicate with a forked parser process. The process has most likely crashed due to some error like running out of memory. A new process will be started for the next parsing request.
    at org.apache.tika.fork.ForkParser.parse(ForkParser.java:120)
    at org.apache.tika.fork.ForkParserTest$1.run(ForkParserTest.java:80)
Caused by: java.io.IOException: Lost connection to a forked server process
    at org.apache.tika.fork.ForkClient.waitForResponse(ForkClient.java:169)
    at org.apache.tika.fork.ForkClient.sendObject(ForkClient.java:137)
    at org.apache.tika.fork.ForkClient.call(ForkClient.java:108)
    at org.apache.tika.fork.ForkParser.parse(ForkParser.java:117)
    ... 1 more
org.apache.tika.exception.TikaException: Failed to communicate with a forked parser process. The process has most likely crashed due to some error like running out of memory. A new process will be started for the next parsing request.
    at org.apache.tika.fork.ForkParser.parse(ForkParser.java:120)
    at org.apache.tika.fork.ForkParserTest$1.run(ForkParserTest.java:80)
Caused by: java.io.IOException: Lost connection to a forked server process
    at org.apache.tika.fork.ForkClient.waitForResponse(ForkClient.java:169)
    at org.apache.tika.fork.ForkClient.sendObject(ForkClient.java:137)
    at org.apache.tika.fork.ForkClient.call(ForkClient.java:108)
    at org.apache.tika.fork.ForkParser.parse(ForkParser.java:117)
    ... 1 more
java.lang.ClassNotFoundException: Unable to find class org.apache.tika.metadata.Metadata
   at org.apache.tika.fork.ClassLoaderProxy.findClass(ClassLoaderProxy.java:117)
   at java.lang.ClassLoader.loadClass(libgcj.so.90)
   at java.lang.ClassLoader.loadClass(libgcj.so.90)
   at java.lang.reflect.Method.getType(libgcj.so.90)
   at java.lang.reflect.Method.getParameterTypes(libgcj.so.90)
   at org.apache.tika.fork.ForkServer.call(ForkServer.java:130)
   at org.apache.tika.fork.ForkServer.processRequests(ForkServer.java:116)
   at org.apache.tika.fork.ForkServer.main(ForkServer.java:64)
org.apache.tika.exception.TikaException: Failed to communicate with a forked parser process. The process has most likely crashed due to some error like running out of memory. A new process will be started for the next parsing request.
    at org.apache.tika.fork.ForkParser.parse(ForkParser.java:120)
    at org.apache.tika.fork.ForkParserTest$1.run(ForkParserTest.java:80)
Caused by: java.io.IOException: Lost connection to a forked server process
    at org.apache.tika.fork.ForkClient.waitForResponse(ForkClient.java:169)
    at org.apache.tika.fork.ForkClient.sendObject(ForkClient.java:137)
    at org.apache.tika.fork.ForkClient.call(ForkClient.java:108)
    at org.apache.tika.fork.ForkParser.parse(ForkParser.java:117)
    ... 1 more
Tests run: 3, Failures: 1, Errors: 2, Skipped: 0, Time elapsed: 1.621 sec <<< FAILURE!
Running org.apache.tika.metadata.TestMetadata
Tests run: 11, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.016 sec
Running org.apache.tika.mime.MediaTypeTest
Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.012 sec
Running org.apache.tika.detect.TextDetectorTest
Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.006 sec
Running org.apache.tika.TikaTest
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.157 sec
Running org.apache.tika.detect.TypeDetectorTest
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.006 sec
Running org.apache.tika.sax.SafeContentHandlerTest
Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.004 sec
Running org.apache.tika.sax.BodyContentHandlerTest
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.003 sec
Running org.apache.tika.mime.MimeDetectionTest
Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.631 sec
Running org.apache.tika.language.LanguageProfileTest
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.005 sec
Running org.apache.tika.language.LanguageIdentifierTest
Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.949 sec
Running org.apache.tika.TestRereadableInputStream
Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.007 sec
Running org.apache.tika.language.ProfilingWriterTest
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.002 sec

Results :

Failed tests: 
  testParallelParsing(org.apache.tika.fork.ForkParserTest)

Tests in error: 
  testHelloWorld(org.apache.tika.fork.ForkParserTest)
  testSerialParsing(org.apache.tika.fork.ForkParserTest)

Tests run: 83, Failures: 1, Errors: 2, Skipped: 0

[INFO] ------------------------------------------------------------------------
[ERROR] BUILD FAILURE
[INFO] ------------------------------------------------------------------------

1 个答案:

答案 0 :(得分:0)

根据您的堆栈跟踪,我认为您不使用Sun JDK。相反,我认为你正在使用GCJ(GNU Java的东西) - 如果你查看堆栈跟踪,你会看到对libgcj.so的引用,这是赠品。

因此我认为您需要做的是使用update-alternatives选择Sunk JDK / JRE而不是GNU GCJ。在那之后,Tika应该编译好。

尝试:

update-alternatives --list java
update-alternatives --list javac
update-alternatives --display java
update-alternatives --display javac

选择你可以使用

update-alternatives --config java
update-alternatives --config javac

(您可能还想更新jar,jarsigner和其他一些人)