HttpConstraintElement:maven依赖冲突

HttpConstraintElement:maven依赖冲突,maven,maven-2,Maven,Maven 2,我试图在包覆面处理的帮助下从我的应用程序创建WebArchive。但即使我不部署任何东西,只使用: final WebArchive archive = ShrinkWrap.create(WebArchive.class, "archieve.war"); archive.as(ShrinkWrapWebAppContext.class); // throws EXCEPTION! 例外情况: 类“javax.servlet.HttpConstraintElement”的签名者信息与同一包中

我试图在包覆面处理的帮助下从我的应用程序创建WebArchive。但即使我不部署任何东西,只使用:

final WebArchive archive = ShrinkWrap.create(WebArchive.class, "archieve.war");
archive.as(ShrinkWrapWebAppContext.class); // throws EXCEPTION!
例外情况:

类“javax.servlet.HttpConstraintElement”的签名者信息与同一包中其他类的签名者信息不匹配

我尝试做的事情: 据我所知,我使用两个JAR,都包含HttpConstraintElement。这些maven依赖项有两个不同的版本。所以我试着:

$ mvn dependency:tree -Dverbose |grep servlet
[INFO] +- javax.servlet:servlet-api:jar:2.5:compile
[INFO] +- javax.servlet.jsp:jsp-api:jar:2.2:compile
[INFO] +- javax.servlet:jstl:jar:1.2:compile
[INFO] |  +- org.apache.tiles:tiles-servlet-wildcard:jar:2.2.2:compile
[INFO] |  |  +- (org.apache.tiles:tiles-servlet:jar:2.2.2:compile - omitted for duplicate)
[INFO] |  |  +- (org.apache.tiles:tiles-servlet:jar:2.2.2:compile - omitted for duplicate)
[INFO] |  |  +- (org.apache.tiles:tiles-servlet:jar:2.2.2:compile - omitted for duplicate)
[INFO] +- org.apache.tiles:tiles-servlet:jar:2.2.2:compile
[INFO] |  +- (org.apache.tiles:tiles-servlet:jar:2.2.2:compile - omitted for duplicate)
[INFO]    \- org.eclipse.jetty:jetty-servlet:jar:9.0.0.M4:compile
[INFO]             +- org.eclipse.jetty.orbit:javax.servlet:jar:3.0.0.v201112011016:compile
问题:

这(上面maven的结果)是否意味着问题出在jetty.websocket和jetty.orbit冲突中

如果没有,如何解决我的问题


如果是,如何解决冲突?

我认为这与所描述的问题相同

我修正如下:

  • 删除对
    javax.servlet:servlet api的依赖关系
  • 显式地添加对
    org.eclipse.jetty.orbit:javax.servlet
    的依赖,从而完全替换
    javax.servlet:servlet api
  • 有关此解决方案的完整说明,请参阅

    请注意,您可能希望在提供的范围
    中包含(无论哪个)
    servlet api
    。Apache专门为“Servlet API”提供了此服务。

    可能类似于。如果我可以自己说的话,这里有一些有用的答案:)