2011-03-22 108 views
0

我在編譯Apache Tika debian上的最新版本時出現此錯誤。任何幫助將不勝感激。Apache Tika編譯錯誤

我已經從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] ------------------------------------------------------------------------ 
+0

你能不能給我們一個更多的上下文?該類似乎是tika API的一部分,但由於某種原因,無法在您的類路徑中找到。 – Josmas 2011-03-22 12:12:51

回答

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 

(您可能還需要更新罐子,的jarsigner和其他幾個人太)

+0

謝謝!這是一個問題。 – 2011-04-02 09:21:44