这是我的pom.xml 的一部分
<dependency>
<groupId>org.apache.mahout</groupId>
<artifactId>mahout-core</artifactId>
<version>0.9</version>
</dependency>
<dependency>
<groupId>org.apache.mahout</groupId>
<artifactId>mahout-math</artifactId>
<version>0.9</version>
</dependency>
<dependency>
<groupId>org.neo4j</groupId>
<artifactId>neo4j</artifactId>
<version>2.2.1</version>
</dependency>
错误是
Caused by: java.lang.ClassNotFoundException: org.apache.lucene.document.Fieldable
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
我发现mahout需要lucene核心4.6.1,但使用neo4j lucene指数2.2.1的neo4j,我能做些什么来解决这个问题?
这是一个常见问题。Neo4j2.3使用旧版本的Lucene(3.6.2)。在JVM中,您不能使用同一库的两个不同版本。
你几乎没有选择如何处理它,但你不应该在生产中使用它们。
-
创建您自己的类加载器。
-
Maven Shade插件