HttpConstraintElement:maven依赖冲突

时间:2013-09-17 10:41:51

标签: maven maven-2

我试图在ShrinkWrap的帮助下从我的应用程序创建WebArchieve。但即使我没有部署任何东西,只能使用:

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

例外:

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

我尝试过做的事情: 据我所知,我使用两个罐子,两个都包含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 冲突中?

如果不是,如何解决我的问题?

如果是,如何解决冲突?

1 个答案:

答案 0 :(得分:3)

我认为这与in this question描述的问题相同。

我修正了如下:

  1. 删除对javax.servlet:servlet-api
  2. 的依赖关系
  3. 明确添加org.eclipse.jetty.orbit:javax.servlet的依赖关系,因此完全取代javax.servlet:servlet-api
  4. 有关此解决方案的完整说明,请参阅my answer on abovementioned question

    请注意,您可能希望在范围servlet-api中包含(以较小者为准)provided。 Apache专门针对“Servlet API”describes

相关问题