Java 如何使泽西1.9和泽西2共存?

Java 如何使泽西1.9和泽西2共存?,java,maven,jersey,Java,Maven,Jersey,我有一个应用程序需要jersey 1.9和jersey 2。我不想把它建在组装罐上,所以shade不适合我。有没有其他办法让它们共存?谢谢您可以使用Maven Shade插件重新定位Jersey 1和JAX-RS API 1.0包名,然后将生成的jar与Jersey 2 jar一起使用。不幸的是,据我所知,没有其他办法让它们共存 为什么您的应用程序需要两个版本的Jersey?这似乎是一个非常糟糕的想法——特别是如果你不打算遮阴,这只会让你头疼不已。我100%同意@MattBall的评论。Mave

我有一个应用程序需要jersey 1.9和jersey 2。我不想把它建在组装罐上,所以shade不适合我。有没有其他办法让它们共存?谢谢

您可以使用Maven Shade插件重新定位Jersey 1和JAX-RS API 1.0包名,然后将生成的jar与Jersey 2 jar一起使用。不幸的是,据我所知,没有其他办法让它们共存


为什么您的应用程序需要两个版本的Jersey?这似乎是一个非常糟糕的想法——特别是如果你不打算遮阴,这只会让你头疼不已。我100%同意@MattBall的评论。Maven只会解决模块中的一个依赖项,并会省略其他版本以避免任何冲突。即使在整个依赖关系层次结构中使用了同一依赖关系的多个版本,Maven也会使用“依赖关系树中最近的”策略选择一个版本。你在使用osgi吗?为什么要投反对票?我以前亲自做过,所以我知道它是有效的。:-)我没有否决投票,但我认为这是因为他写道:
我不想将它构建到组装jar,所以shade对我不起作用
。谢谢@MaxG。如果我能更仔细地阅读这个问题会有帮助的!