我正在现有项目之上实施dropwizard服务器应用。与maven建设。
我目前处于jar地狱,这并不好玩。我有一个相当复杂的pom文件。使用hadoop / glassfish / com.sun打包的球衣依赖关系存在很大问题。 com.sun.jersey:jersey-core:jar1.19
与org.glassfish.jersey.core:jersey-client:jar:2.22.2
发生冲突。我尝试添加一些排除项以使其使用2.22.x
版本,但它仍然向我显示here错误。我一直在梳理依赖树并在我认为合适的地方添加排除项,但似乎无法正确完成。这是我的pom file。
答案 0 :(得分:1)
个人经验告诉我,你应该检查你所有的依赖关系(尤其是你在内部开发的依赖关系),如果你有旧的球衣版本作为依赖。
这就是为我解决类似问题的原因。
答案 1 :(得分:1)
如果您这样做:
MVN依赖项:列表-详细 (用于过滤结果的grep)
它为您提供了依赖项列表(也有传递性的依赖项)。检查您的应用程序中正在使用的sun jersey或glassfish jersey的版本。
如果您这样做:
MVN依赖关系:树-Dverbose -Dincludes = jersey-server
您将看到任何版本的jersey-server来自父级的图形。
我有一个hadoop客户端和一个内部rest-bus客户端,使用的是我需要删除的sun jersey(1.9.x)版本。我在maven中尝试过,但效果很好。
此外,该球衣版本不匹配在dropwizard中为我造成了以下问题。
java.lang.NoSuchMethodError: javax.ws.rs.core.Application.getProperties()Ljava/util/Map;