Java 豺兔RMI-lucene冲突
我希望在我的数据版本控制应用程序中与Jackrabbit 2.x集成 我的应用程序依赖于Lucene 2.9.1 问题是Jackrabbit依赖于Lucene(3.6)的更高版本,因此我不能将Java 豺兔RMI-lucene冲突,java,lucene,jackrabbit,Java,Lucene,Jackrabbit,我希望在我的数据版本控制应用程序中与Jackrabbit 2.x集成 我的应用程序依赖于Lucene 2.9.1 问题是Jackrabbit依赖于Lucene(3.6)的更高版本,因此我不能将Jackrabbit核心jar与我的应用程序放在同一个类路径中,因为它与我的Lucene jar冲突 鉴于我不喜欢实现WebDAV客户机,我考虑使用RMI实现,但是,我发现jackrabbit RMIjar也依赖于jackrabbit core和Lucene 在我的应用程序中使用jackrabbit RMI
Jackrabbit核心
jar与我的应用程序放在同一个类路径中,因为它与我的Lucene jar冲突
鉴于我不喜欢实现WebDAV客户机,我考虑使用RMI实现,但是,我发现jackrabbit RMI
jar也依赖于jackrabbit core
和Lucene
在我的应用程序中使用jackrabbit RMI有没有办法解决这个问题?或者是否有其他解决方案允许我在不升级lucene jars的情况下使用Jackrabbit?您可以尝试使用将较新的lucene重新打包到另一个包中,然后从那里使用它。在您的应用程序服务器中将Jackrabbit配置为Ressource provider怎么样?
因此,您可以通过JNDI并仅通过JCR API引用它,以避免冲突(因为ressource将位于不同的类加载器中)。问题是我的版本较旧。另外,打包也不能解决在同一类路径中引用两个jar的问题,如果我将“新”打包的jar包含在我自己的类路径中,我仍然会与其他依赖项发生冲突。如果只是您自己的代码需要新的Lucene,那么应该可以,因为您可以通过不同的包引用新的Lucene API。但如果这些库需要更新的Lucene,那么我认为jarjar或任何其他工具都无法帮助您。