将apache-tika依赖项添加到grails项目中的正确方法是什么

时间:2013-08-07 08:16:17

标签: grails apache-tika

使用tika-1.4时:

Caused by: java.lang.NoClassDefFoundError: net/sf/cglib/core/DebuggingClassWriter
at net.sf.cglib.core.DefaultGeneratorStrategy.getClassWriter(DefaultGeneratorStrategy.java:30)
at net.sf.cglib.core.DefaultGeneratorStrategy.generate(DefaultGeneratorStrategy.java:24)
at net.sf.cglib.core.AbstractClassGenerator.create(AbstractClassGenerator.java:216)
at net.sf.cglib.core.KeyFactory$Generator.create(KeyFactory.java:144)
at net.sf.cglib.core.KeyFactory.create(KeyFactory.java:116)
at net.sf.cglib.core.KeyFactory.create(KeyFactory.java:108)
at net.sf.cglib.core.KeyFactory.create(KeyFactory.java:104)
... 5 more
Caused by: java.lang.ClassNotFoundException: net.sf.cglib.core.DebuggingClassWriter
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)

将这两行添加到BuildConfig.groovy中:

compile ("org.apache.tika:tika-core:1.4")
compile ("org.apache.tika:tika-parsers:1.4") {excludes "tika-core"}

如果我不从tika-core中排除tika-parsers,我将获得tika-core的两个版本(由vorbis-java-tika依赖项拉取的版本1.0)和版本{{1版本1.4。

如果我将tika版本替换为1.3,则异常消失。

更新1

此解决方案似乎有效:

tika-core

1 个答案:

答案 0 :(得分:1)

这可能是也可能不是你看到的问题 - 我们正在使用tika 1.5(快照)。该版本引入了asm-debug-all,这是我们遇到麻烦的原因(与你的类似的堆栈跟踪)。尝试在tika-parsers中使用'asm-debug-all'而不是'tika-core'。