在我的Web应用程序中,已经有一个3.6版本的lucene-core jar,现在要在同一个项目中添加不同的功能,我需要最新版本的lucene-core jar,即4.4.0。
当我用前一个jar替换最新的jar时,它会抛出编译错误,因为Lucene不会保持向后兼容性。
我新添加的功能在3.6.2版本上不起作用。我知道不可能在lib中保留两个jar版本。请提出解决方案。
答案 0 :(得分:1)
哦,是的Jar罐头!
如果可能,将Lucene功能移动到单独的层(如Web服务),并从Web应用程序作为Web服务客户端访问此服务。当然,这意味着某种开销(网络等)。
另一种可能性是使用允许提供Web应用程序的JBoss Fuse等OSGI解决方案。将Lucene功能移动到单独的模块(每个模块使用不同的Lucene版本)并将服务导入Web应用程序。优点是,使用此解决方案,您可以直接访问服务而无需网络开销。